Технология разработки телекоммуникационных сервисов. Лабораторная работа 2. Общий вариант
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Необходимые программы
Работа представляет собой 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 используется для работы с сокетами?
РЕАЛИЗАЦИЯ КЛИЕНТ-СЕРВЕРНОЙ АРХИТЕКТУРЫ С ПОМОЩЬЮ СОКЕТОВ
Цель работы:Изучение методов программирования сокетов с использованием пакета 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.Технологии разработки телекоммуникационных сервисов
Tatna
: 14 апреля 2018
Задание:
Создать два класса: Client и Server, использующие классы и методы пакета java.net, для связи двух процессов на основе протокола TCP. Проверить передачу текстовой строки от клиента серверу и обратно. Использовать созданные классы для продолжительного сеанса связи двух процессов. Обеспечить ввод с клавиатуры потоков данных для передачи клиентом серверу и обратно, окончание сеанса связи, и закрытие сокетов (клиента и сервера) по введённому с клавиатуры кодовому слову, например, «END».
Для
80 руб.
Лабораторная работа №2 по дисциплине: Технологии разработки телекоммуникационных сервисов. Вариант общий
SibGOODy
: 18 марта 2018
Лабораторная работа №2
Реализация клиент-серверной архитектуры с помощью сокетов
Цель работы: Изучение методов программирования сокетов с использованием пакета java.net.
Задание:
Создать два класса: Client и Server, использующие классы и методы пакета java.net, для связи двух процессов на основе протокола TCP. Проверить передачу текстовой строки от клиента серверу и обратно. Использовать созданные классы для продолжительного сеанса связи двух процессов. Обеспечить ввод с клавиатуры потоков дан
400 руб.
Лабораторная работа № 2 по дисциплине: Технология разработки телекоммуникационных сервисов
zzzzzzz
: 10 февраля 2019
работа на тему: «Реализация клиент-серверной архитектуры с помощью сокетов»
Задание:
Создать два класса: Client и Server, использующие классы и методы пакета java.net, для связи двух процессов на основе протокола TCP. Проверить передачу текстовой строки от клиента серверу и обратно. Использовать созданные классы для продолжительного сеанса связи двух процессов. Обеспечить ввод с клавиатуры потоков данных для передачи клиентом серверу и обратно, окончание сеанса связи, и закрытие сокетов (клиента
100 руб.
Лабораторные работы №2-3 по дисциплине: Технология разработки телекоммуникационных сервисов. Вариант общий
Учеба "Под ключ"
: 23 июля 2026
Лабораторная работа №2
РЕАЛИЗАЦИЯ КЛИЕНТ-СЕРВЕРНОЙ АРХИТЕКТУРЫ С ПОМОЩЬЮ СОКЕТОВ
Цель работы: Изучение методов программирования сокетов с использованием пакета java.net.
Подготовка к лабораторной работе:
1. Изучить лекционный материал дисциплины "Технологии разработки телекоммуникационных сервисов" по темам "Распределённые приложения" и "Реализация клиент-серверной архитектуры на сокетах".
2. Изучить соответствующие разделы в литературе [3, 4].
3. Повторить принципы работы в среде Ecli
1200 руб.
Технология разработки телекоммуникационных сервисов
thekara
: 3 сентября 2022
Задание на курсовое проектирование 2
Краткие теоретические сведения 3
Система управления базами данных 3
MySQL 4
Eclipse JDT 5
Создание базы данных 6
Создание клиентской части 7
MydbClient.java 8
MainClass.java 10
Вывод 12
2000 руб.
Технологии разработки телекоммуникационных сервисов
Dirol340
: 27 января 2021
Лабораторная работа №1
“Приёмы объектно-ориентированного программирования на языке Java 2”
по предмету «Технологии разработки телекоммуникационных сервисов»
Лабораторная работа №2
“ РЕАЛИЗАЦИЯ КЛИЕНТ-СЕРВЕРНОЙ АРХИТЕКТУРЫ С ПОМОЩЬЮ СОКЕТОВ»
Лабораторная работа №3
Разработка многопоточного сокета
600 руб.
Технологии разработки телекоммуникационных сервисов
Dirol340
: 10 сентября 2020
Билет 4
1. Наследование. Полиморфизм.
2. Этапы разработки сервлета. Пример простого сервлета.
3. Задача (тема «Реализация клиент-серверной архитектуры на сокетах»).
150 руб.
Технологии разработки телекоммуникационных сервисов
Dirol340
: 10 сентября 2020
Приёмы объектно-ориентированного программирования на языке Java
Описание суперкласса и подклассов: их полей и методов
Класс Device: описывает мобильное устройство. Содержит приватные поля: «тип соединения» и «тип операционной системы». Имеет геттеры для получения значения этих свойств. Поля заполняются при создании объекта при вызове конструктора класса.
Класс Smartphone: является дочерним классом Device. Имеет
1000 руб.
Другие работы
Лабораторная работа №2 по дисциплине: Базы данных. Без вариантов.
IT-STUDHELP
: 2 июля 2019
Лабораторная работа №2
Тема: Знакомство с СУБД Microsoft SQL Server .
Цель работы: Ознакомится с интерфейсом СУБД, разработать БД.
Задание без выбора вариантов, выполняется в полном объеме:
1. Установить ПО, согласно инструкциям, представленным в лабораторной работе. Реализовать в СУБД Microsoft SQL Server пример № 1 «Учебная база данных». Реализовать запросы, представленные в конце файла.
Знакомство со средой разработки.
Microsoft SQL Server — система управления реляционными базами данных (РСУБ
300 руб.
Термодинамика и теплопередача ИРНИТУ 2019 Задача 6 Вариант 98
Z24
: 15 мая 2026
Плоская стальная стенка толщиной δ1 (λ1 = 40 Вт/(м⸱К) с одной стороны омывается газами; при этом коэффициент теплоотдачи равен α1. С другой стороны стенка изолирована от окружающего воздуха плотно прилегающей к ней пластиной толщиной δ2 (λ2 = 0,15 Вт/(м⸱К). Коэффициент теплоотдачи от пластины к воздуху равен α2. Определить тепловой поток ql, Вт/м² и температуры t1, t2, и t3 поверхностей стенок, если температура продуктов сгорания tг, а воздуха — tв.
200 руб.
Гидравлика Москва 1990 Задача 22 Вариант 5
Z24
: 27 декабря 2025
Центробежный насос производительностью Q работает при частоте вращения n (рис.16). Определить допустимую высоту всасывания, если диаметр всасывающей трубы d, а ее длина l. Коэффициент кавитации в формуле Руднева принять равным C. Температура воды t=20ºC. Коэффициент сопротивления колена ξ=0,2. Коэффициент сопротивления входа в трубу ξвх=1,8. Эквивалентная шероховатость стенок трубы кэ=0,15 мм.
180 руб.
Проектирование санатория
Aronitue9
: 25 мая 2015
Архитектурно-строительная часть.
Исходные данные.
Решение генерального плана.
Объемно планировочное решение.
Конструктивные решения.
Фундаменты.
Надземная часть.
Отделочные работы.
Теплотехнический расчет.
Инженерно-техническое оборудование.
Мероприятия по охране окружающей среды.
Расчётно-конструктивная часть.
Расчет монолитного участка Ум4.
Расчет монолитного участка Ум3.
Устройство антисейсмического пояса.
Результаты расчета в SCAD.
Основания и фундаменты.
Исходные данные.
Инженерно-геологиче
440 руб.