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

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

material.view.file_icon
material.view.file_icon
material.view.file_icon .classpath
material.view.file_icon .project
material.view.file_icon
material.view.file_icon org.eclipse.jdt.core.prefs
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 worker.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
material.view.file_icon worker.java
material.view.file_icon Лабораторная работа 3.doc
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

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

РАЗРАБОТКА МНОГОПОТОЧНОГО СОКЕТА

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

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

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

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

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

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

Серверный сокет, поддерживающий общение с множеством клиентов одновременно, должен быть многопоточным.

Каждый поток создаётся и управляется объектом класса java.lang.Thread. Для поддержки сокетов и функций ввода-вывода необходим импорт пакетов:

import java.net.*;

import java.io.*;

Одним из способов создать поток является расширение класса Thread (нить).Класс, расширяющий Thread, переопределяет метод run() данного класса (код выполняемый потоком).Чтобы поток получил право на выполнение, конструктор потока вызывает метод start(), унаследованный от Thread. Приэтомзапуститсяметодrun().

Примерработыспотоками:

public class Talk extends Thread {

public void run() {

for (int i = 0; i< 8; i++) {

System.out.println("Talking");

try {

Thread.sleep(400);// остановкана 400 миллисекунд

} catch (InterruptedException e) {

System.err.print(e);

}

}

}

}



publicclassTalkTalk {

public static void main(String[] args) {

Talk talk = newTalk();

talk.start();

}

}

Для реализации сервера необходимо создать поток, расширяющий класс Thread, который содержит метод run(), реализующий функции сервера.

Примечание: В нашем примере функции сервера заключаются в том, чтобы принять от клиента текстовую строку и вернуть её назад (см. лабораторную работу №2).

Пример:

import java.io.*;

import java.net.*;

importjava.lang.*;

class Server extends Thread {

private Socket socket;

// Конструктор

public Server(Socket s) throws IOException {

socket = s;

… //реализация конструктора класса-сервера

start(); // вызываемrun()

}

public void run() {

// реализация сервера

}

}

Кроме того, понадобится класс, содержащий метод main(), в котором создаётся «слушающий» сокет (ServerSocket),и который будет осуществлять соединение с клиентами.

Пример:

publicclass MultiJServer {



publicstaticvoidmain (String[]args)throwsIOException{

ServerSocket s = new ServerSocket(port);

try {

while (true) {

Socket socket = s.accept();

new Server(socket);

}

}catch (IOException e) {

socket.close();

} finally {

s.close();

}

}

}

Задание:

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

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

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

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

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

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



String str = keyboard.readLine();

4. Создать класс-сервер,расширяющий Thread, и содержащий метод run() для реализации функций сервера.

5. Создать класс, содержащий метод main(), и осуществляющий соединение с клиентскими сокетами.

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

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

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

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

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

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

12. Если есть такая возможность, обеспечить соединение нескольких клиентов, находящихся на разных компьютерах, с сервером.

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

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

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

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

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

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

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

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

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

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

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

1. Что такое многозадачность и многопоточность?

2. Какими способами можно организовать создание и работу потоков?

3. Для чего нужен метод start()?

4. Охарактеризуйте метод accept().

5. Перечислите классы и методы, входящие в состав класса ServerSocket.

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

Зачёт
Лабораторная работа №3. Технологии разработки телекоммуникационных сервисов
Задание: Создать классы для реализации многопоточного соединения. Проверить передачу текстовой строки от клиента серверу и обратно. Использовать созданные классы для продолжительного сеанса связи нескольких процессов. Обеспечить ввод с клавиатуры потоков данных для передачи клиентом серверу и обратно, окончание сеанса связи, и закрытие сокетов (клиента и сервера) по введённому с клавиатуры кодовому слову, например, «END». Для выполнения лабораторной работы были созданы классы “Server”, ”Worker”,
User Tatna : 14 апреля 2018
80 руб.
Лабораторная работа №3 по дисциплине: Технологии разработки телекоммуникационных сервисов. Вариант общий
Лабораторная работа №3 Разработка многопоточного сокета Цель работы: Изучение методов программирования многопоточных сокетов с использованием пакетов java.net и java.lang. Задание: Создать классы для реализации многопоточного соединения. Проверить передачу текстовой строки от клиента серверу и обратно. Использовать созданные классы для продолжительного сеанса связи нескольких процессов. Обеспечить ввод с клавиатуры потоков данных для передачи клиентом серверу и обратно, окончание сеанса связи,
User SibGOODy : 18 марта 2018
400 руб.
Лабораторная работа № 3 по дисциплине: Технология разработки телекоммуникационных сервисов
работа на тему: «Разработка многопоточного сокета» Задание: Создать классы для реализации многопоточного соединения. Проверить передачу текстовой строки от клиента серверу и обратно. Использовать созданные классы для продолжительного сеанса связи нескольких процессов. Обеспечить ввод с клавиатуры потоков данных для передачи клиентом серверу и обратно, окончание сеанса связи, и закрытие сокетов (клиента и сервера) по введённому с клавиатуры кодовому слову, например, «END». В архиве содержится от
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 руб.
Технологии разработки телекоммуникационных сервисов
Задание В качестве серверной части разработать базу данных в СУБД MySQL «Поликлиника». База данных содержит таблицу, состоящую из не менее чем 5-ти полей и 20-ти записей. Клиентская часть должна быть разработана на языке Java в среде Eclipse. Каждый запрос должен быть реализован отдельным методом. Все методы могут принадлежать одному классу. Отдельно должен быть реализован класс, содержащий метод main(). Таким образом, структура клиента должна быть такой: 1. Класс, содержащий статический метод m
User Dirol340 : 10 сентября 2020
500 руб.
Технологии разработки телекоммуникационных сервисов
Приёмы объектно-ориентированного программирования на языке Java Описание суперкласса и подклассов: их полей и методов Класс Device: описывает мобильное устройство. Содержит приватные поля: «тип соединения» и «тип операционной системы». Имеет геттеры для получения значения этих свойств. Поля заполняются при создании объекта при вызове конструктора класса. Класс Smartphone: является дочерним классом Device. Имеет
User Dirol340 : 10 сентября 2020
1000 руб.
Технологии разработки телекоммуникационных сервисов
Билет 4 1. Наследование. Полиморфизм. 2. Этапы разработки сервлета. Пример простого сервлета. 3. Задача (тема «Реализация клиент-серверной архитектуры на сокетах»).
User Dirol340 : 10 сентября 2020
150 руб.
Ответы к экзамену (шпаргалка) по курсу Прикладная механика
Вопросы к экзамену по курсу ПМ1 1. Определения и задачи статики 2. Аксиомы статики 3. Связи и реакции связей 4. Аксиома связей 5. Геометрический способ сложения сил 6. Аналитический способ сложения сил 7. Геометрическое условие равновесия системы сил 8. Аналитическое условие равновесия системы сил 9. Пара сил. Момент пары 10. Момент силы относительно центра или точки 11. Условие равновесия системы сил 12. Центр параллельных сил. Центр тяжести 13. Центр тяжести твердого тела 14. Координаты цен
User Nadenalove : 25 мая 2017
400 руб.
Лабораторная работа № 5 по дисциплине: «Теория электрической связи». Без варианта. (4 семестр).
Тема: "Исследование эффективности устройств защиты от ошибок в дискретном канале передачи информации". Цель работы. Исследование помехоустойчивости и эффективности устройств защиты от ошибок в дискретном канале передачи информации. Описание лабораторной установки. Работа выполняется на ПЭВМ с использованием программы Arm_СПИ.exe, раздела «Структура модели СПИ», модель решающего устройства. Лабораторное задание. 1. Исследовать распределение кратностей ошибок на длине кодового слова n для раз
User ua9zct : 17 марта 2015
20 руб.
Налоги. Задачи. КР.
1 Сумма налога на прибыль в Федеральный бюджет за 1 квартал начислена 25000 рублей, а уплачена 24000 рублей, за 6 месяцев начислено 35000 рублей и уплачено 34000 рублей. Рассчитать суммы ежемесячных авансовых платежей в 3 квартале, подлежащих перечислению в бюджет. Определить в какие сроки необходимо оплатить ежемесячные авансовые платежи Сумма поступившего в январе текущего года аванса составила 1180000 руб. (в том числе НДС по ставке 18%). В мае организация отгрузила материалы на сумму общую с
User studypro3 : 27 марта 2018
400 руб.
Выносливость и методика ее направленного развития
Введение. Понятие выносливости и ее виды. Понятие выносливости. Виды выносливости. Методика развития выносливости. Методика развития общей выносливости. Методика развития специальной выносливости. Контрольные упражнения (тесты) для определения уровня развития выносливости. Методика развития выносливости на примере лыжных гонок. Заключение. Список использованных источников.
User Elfa254 : 3 сентября 2015
45 руб.
up Наверх