Технология разработки телекоммуникационных сервисов. Лабораторная работа 2. Общий вариант

Состав работы

material.view.file_icon
material.view.file_icon Лабораторная работа 2.doc
material.view.file_icon
material.view.file_icon .classpath
material.view.file_icon
material.view.file_icon .log
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon .location
material.view.file_icon
material.view.file_icon
material.view.file_icon history.version
material.view.file_icon properties.index
material.view.file_icon properties.version
material.view.file_icon 1.tree
material.view.file_icon
material.view.file_icon org.eclipse.core.resources
material.view.file_icon
material.view.file_icon
material.view.file_icon org.eclipse.core.resources.prefs
material.view.file_icon org.eclipse.jdt.ui.prefs
material.view.file_icon org.eclipse.jsch.core.prefs
material.view.file_icon org.eclipse.jst.j2ee.webservice.ui.prefs
material.view.file_icon org.eclipse.m2e.discovery.prefs
material.view.file_icon org.eclipse.mylyn.context.core.prefs
material.view.file_icon org.eclipse.mylyn.monitor.ui.prefs
material.view.file_icon org.eclipse.mylyn.tasks.ui.prefs
material.view.file_icon org.eclipse.ui.ide.prefs
material.view.file_icon org.eclipse.ui.navigator.prefs
material.view.file_icon org.eclipse.ui.prefs
material.view.file_icon org.eclipse.ui.workbench.prefs
material.view.file_icon
material.view.file_icon workbench.xmi
material.view.file_icon
material.view.file_icon
material.view.file_icon .project
material.view.file_icon
material.view.file_icon assumedExternalFilesCache
material.view.file_icon externalFilesCache
material.view.file_icon javaLikeNames.txt
material.view.file_icon nonChainingJarsCache
material.view.file_icon variablesAndContainers.dat
material.view.file_icon
material.view.file_icon OpenTypeHistory.xml
material.view.file_icon QualifiedTypeNameHistory.xml
material.view.file_icon
material.view.file_icon 0.log
material.view.file_icon logback.1.16.1.20210603-1006.xml
material.view.file_icon
material.view.file_icon workspace.setup
material.view.file_icon
material.view.file_icon dialog_settings.xml
material.view.file_icon
material.view.file_icon introstate
material.view.file_icon
material.view.file_icon workingsets.xml
material.view.file_icon
material.view.file_icon version.ini
material.view.file_icon .project
material.view.file_icon
material.view.file_icon
material.view.file_icon client.class
material.view.file_icon
material.view.file_icon server.class
material.view.file_icon
material.view.file_icon
material.view.file_icon client.java
material.view.file_icon
material.view.file_icon server.java
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word
  • Программа для просмотра текстовых файлов
  • Microsoft Excel

Описание

Лабораторная работа №2

РЕАЛИЗАЦИЯ КЛИЕНТ-СЕРВЕРНОЙ АРХИТЕКТУРЫ С ПОМОЩЬЮ СОКЕТОВ

Цель работы:Изучение методов программирования сокетов с использованием пакета java.net.

Подготовка к лабораторной работе:

1. Изучить лекционный материал дисциплины "Технологии разработки телекоммуникационных сервисов" по темам "Распределённые приложения" и "Реализация клиент-серверной архитектуры на сокетах".

2. Изучить соответствующие разделы в литературе [3, 4].

3. Повторить принципы работы в среде Eclipse.

Краткая теория

В данной лабораторной работе используются классы и методы пакета java.net, поэтому в начале программы необходимо вставить строки импорта содержимого пакетов:

import java.net.*;

import java.io.*;

Вторая строка необходима для использования классов потокового ввода-вывода:

· InputStream

· OutputStream

· DataInputStream

· DataOutputStream

иихметодов:

· getInputStream()

· getOutputStream()

для передачи данных от клиента к серверу и наоборот.

Для соединения компьютеров необходимо определить адрес узла, на котором будет запущен сервер и порт приложения, обрабатывающего полученную информацию.

Системными службами зарезервированы порты с 1 по 1024, поэтому для своего приложенияможно использовать любой другой порт.

Чтобы получить javaобъект IPадреса хоста необходимо использовать статический метод InetAddress.getByName() класса InetAddressпакета java.net.

Приведённый ниже пример иллюстрирует использование метода InetAddress.getByName()для получения своего IPадреса в виде javaобъекта.




Пример:

// ip_Address.java

//Должно быть установлено соединение с Internet

import java.io.*;

import java.net.*;



publicclassip_Address {

publicstaticvoid main(String[] args) throws Exception {

BufferedReader keyboard = newBufferedReader(newInputStreamReader(System.in));

System.out.println("Введи имя компьютера");

String line = keyboard.readLine();

InetAddressaddr = InetAddress.getByName(line);

System.out.println(addr);

}

}

При запуске клиента и сервера на одном компьютере необходимо использовать адрес «заглушки», так называемый localhost, который можно получить следующими способами:

InetAddressaddr = InetAddress.getByName(null);

или:

InetAddressaddr = InetAddress.getByName("localhost");

или:

InetAddressaddr = InetAddress.getByName("127.0.0.1");

Существует два класса сокетов, основанных на потоках: ServerSocket, который использует сервер для "прослушивания" входящих соединений, и Socket, который использует клиент для инициализации соединения. Как только клиент создаст сокетное соединение, ServerSocket возвратит, используя свой метод accept(), соответствующий Socket, через который может происходить коммуникация на стороне сервера.

Пример (серверная часть):



intport = 6666;

// созданиесокетасервера

ServerSocketss = newServerSocket(port);



// установлениесервером соединения клиент-сервер,

// инициированного клиентом

Socketsocket = ss.accept();



Для общения сокетов клиента и сервера используются методы getInputStream() и getOutputStream() для получения соответствующих объектов классов InputStream и OutputStream для каждого сокета.Для обработки потоков более удобно использовать потомки этих классов DataInputStream и DataOutputStream, которые содержат готовые методы чтения/записи всех типов данныхreadUTF()/writeUTF.

Пример (клиентскаячасть):



Socket sock = newSocket(addr,port)



DataInputStream in = newDataInputStream (sock.getInputStream());

DataOutputStream out = newDataOutputStream (sock.getOutputStream());



Stringstr = null;

while (true) { // бесконечныйциклсеансасвязи

strin.readUTF(); // считываниеданныхизпотока

out.writeUTF(); // запись данных в поток

out.flush(); // окончание потока передачи

}



По окончании сеанса связи сокеты необходимо закрыть методом close():

sock.close();

Для реализации соединения необходимо использовать конструкцию обработки исключений:

try { // попытка соединения}

catch{ // не получилось}

finally{ // выполнится в любом случае}

Пример:

try {



System.out.println("Успех");

} catch (Exception x) {

System.out.println("Ошибка");

x.printStackTrace(); //выводсодержимогостека

}

} finally {

sock.close();

}

Вместо конструкцииtry…catch…finally можно использовать операторthrowsдля задания списка исключений, которые могут возбуждаться методом.

Пример:

publicstaticvoidmain(String[]args)throwsIOException{



}

Задание:

Создать два класса: Clientи Server, использующие классы и методы пакета java.net, для связи двух процессов на основе протокола TCP. Проверить передачу текстовой строки от клиента серверу и обратно. Использовать созданные классы для продолжительного сеанса связидвух процессов. Обеспечить ввод с клавиатуры потоков данных для передачи клиентом серверу и обратно, окончание сеанса связи, и закрытие сокетов (клиента и сервера) по введённому с клавиатуры кодовому слову, например, «END».

Порядок выполнения работы:

1. Запустить среду Eclipse, установленную на компьютере.

2. Создать новый проект. Указать его название и местоположение.

3. Создать класс-клиент,содержащий метод main(). Добавить в класс средства для ввода строки с клавиатуры:

BufferedReader keyboard = newBufferedReader(newInputStreamReader(System.in));



String str = keyboard.readLine();

4. Создать класс-сервер,содержащий метод main().

5. Компилировать классы.

6. При необходимости исправить найденные ошибки и повторить п.5.

7. Запустить на выполнение класс-сервер.

8. Запустить на выполнение класс-клиент.

9. Проследить за передачейтекста от клиента к серверу и обратно.

10. Обеспечить сеанс связиклиент-сервер до завершения его пользователем (передать несколько введённых с клавиатуры текстовых строк).

11. Если есть возможность, проверить работу клиент-серверного приложения на двух, соединённых в сеть, компьютерах.

12. Оформить отчёт.

13. Сдать работу.

Содержание отчёта:

1. Номер, название и цель лабораторной работы.

2. Задание по варианту.

3. Описание классов: их полей и методов.

4. Тексты классов.

5. Результаты работы программы.

6. Описание полученных результатов.

7. Вывод по проделанной работе.

Контрольные вопросы:

1. Чем передача данных по протоколу UDPотличается от передачи по протоколу TCP?

2. Что такое сокет?

3. Какие существуют разновидности архитектуры клиент-сервер?

4. Чем отличается класс ServerSocketот класса Socket?

5. Какие классы сокетов для протокола UDPвы знаете?

6. Какой пакет java используется для работы с сокетами?

Дополнительная информация

Зачёт.
Лабораторная работа №2.Технологии разработки телекоммуникационных сервисов
Задание: Создать два класса: Client и Server, использующие классы и методы пакета java.net, для связи двух процессов на основе протокола TCP. Проверить передачу текстовой строки от клиента серверу и обратно. Использовать созданные классы для продолжительного сеанса связи двух процессов. Обеспечить ввод с клавиатуры потоков данных для передачи клиентом серверу и обратно, окончание сеанса связи, и закрытие сокетов (клиента и сервера) по введённому с клавиатуры кодовому слову, например, «END». Для
User Tatna : 14 апреля 2018
80 руб.
Лабораторная работа №2 по дисциплине: Технологии разработки телекоммуникационных сервисов. Вариант общий
Лабораторная работа №2 Реализация клиент-серверной архитектуры с помощью сокетов Цель работы: Изучение методов программирования сокетов с использованием пакета java.net. Задание: Создать два класса: Client и Server, использующие классы и методы пакета java.net, для связи двух процессов на основе протокола TCP. Проверить передачу текстовой строки от клиента серверу и обратно. Использовать созданные классы для продолжительного сеанса связи двух процессов. Обеспечить ввод с клавиатуры потоков дан
User SibGOODy : 18 марта 2018
400 руб.
Лабораторная работа № 2 по дисциплине: Технология разработки телекоммуникационных сервисов
работа на тему: «Реализация клиент-серверной архитектуры с помощью сокетов» Задание: Создать два класса: Client и Server, использующие классы и методы пакета java.net, для связи двух процессов на основе протокола TCP. Проверить передачу текстовой строки от клиента серверу и обратно. Использовать созданные классы для продолжительного сеанса связи двух процессов. Обеспечить ввод с клавиатуры потоков данных для передачи клиентом серверу и обратно, окончание сеанса связи, и закрытие сокетов (клиента
User zzzzzzz : 10 февраля 2019
100 руб.
Технология разработки телекоммуникационных сервисов
Задание на курсовое проектирование 2 Краткие теоретические сведения 3 Система управления базами данных 3 MySQL 4 Eclipse JDT 5 Создание базы данных 6 Создание клиентской части 7 MydbClient.java 8 MainClass.java 10 Вывод 12
User thekara : 3 сентября 2022
2000 руб.
Технологии разработки телекоммуникационных сервисов
Лабораторная работа №1 “Приёмы объектно-ориентированного программирования на языке Java 2” по предмету «Технологии разработки телекоммуникационных сервисов» Лабораторная работа №2 “ РЕАЛИЗАЦИЯ КЛИЕНТ-СЕРВЕРНОЙ АРХИТЕКТУРЫ С ПОМОЩЬЮ СОКЕТОВ» Лабораторная работа №3 Разработка многопоточного сокета
User Dirol340 : 27 января 2021
600 руб.
Технологии разработки телекоммуникационных сервисов
Приёмы объектно-ориентированного программирования на языке Java Описание суперкласса и подклассов: их полей и методов Класс Device: описывает мобильное устройство. Содержит приватные поля: «тип соединения» и «тип операционной системы». Имеет геттеры для получения значения этих свойств. Поля заполняются при создании объекта при вызове конструктора класса. Класс Smartphone: является дочерним классом Device. Имеет
User Dirol340 : 10 сентября 2020
1000 руб.
Технологии разработки телекоммуникационных сервисов
Билет 4 1. Наследование. Полиморфизм. 2. Этапы разработки сервлета. Пример простого сервлета. 3. Задача (тема «Реализация клиент-серверной архитектуры на сокетах»).
User Dirol340 : 10 сентября 2020
150 руб.
Технологии разработки телекоммуникационных сервисов
Задание В качестве серверной части разработать базу данных в СУБД MySQL «Поликлиника». База данных содержит таблицу, состоящую из не менее чем 5-ти полей и 20-ти записей. Клиентская часть должна быть разработана на языке Java в среде Eclipse. Каждый запрос должен быть реализован отдельным методом. Все методы могут принадлежать одному классу. Отдельно должен быть реализован класс, содержащий метод main(). Таким образом, структура клиента должна быть такой: 1. Класс, содержащий статический метод m
User Dirol340 : 10 сентября 2020
500 руб.
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год Московская международная академия Институт дистанционного образования Тест оценка ОТЛИЧНО 2024 год Ответы на 20 вопросов Результат – 100 баллов С вопросами вы можете ознакомиться до покупки ВОПРОСЫ: 1. We have … to an agreement 2. Our senses are … a great role in non-verbal communication 3. Saving time at business communication leads to … results in work 4. Conducting negotiations with foreigners we shoul
User mosintacd : 28 июня 2024
150 руб.
promo
Задание №2. Методы управления образовательными учреждениями
Практическое задание 2 Задание 1. Опишите по одному примеру использования каждого из методов управления в Вашей профессиональной деятельности. Задание 2. Приняв на работу нового сотрудника, Вы надеялись на более эффективную работу, но в результате разочарованы, так как он не соответствует одному из важнейших качеств менеджера - самодисциплине. Он не обязателен, не собран, не умеет отказывать и т.д.. Но, тем не менее, он отличный профессионал в своей деятельности. Какими методами управления Вы во
User studypro : 13 октября 2016
200 руб.
Особенности бюджетного финансирования
Содержание: Введение Теоретические основы бюджетного финансирования Понятие и сущность бюджетного финансирования Характеристика основных форм бюджетного финансирования Анализ бюджетного финансирования образования Понятие и источники бюджетного финансирования образования Проблемы бюджетного финансирования образования Основные направления совершенствования бюджетного финансирования образования Заключение Список использованный литературы Цель курсовой работы – исследовать особенности бюджетного фин
User Aronitue9 : 24 августа 2012
20 руб.
Программирование (часть 1-я). Зачёт. Билет №2
ЗАЧЕТ по дисциплине “Программирование (часть 1)” Билет 2 Определить значение переменной y после работы следующего фрагмента программы: a = 3; b = 2 * a – 10; x = 0; y = 2 * b + a; if ( b > y ) or ( 2 * b < y + a ) ) then begin x = b – y; y = x + 4 end; if ( a + b < 0 ) and ( y + x > 2 ) ) then begin x = x + y; y = x – 2 end;
User sibsutisru : 3 сентября 2021
200 руб.
Программирование (часть 1-я). Зачёт. Билет №2
up Наверх