Технология разработки телекоммуникационных сервисов. Лабораторная работа 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,2,3 по дисциплине: Имитационное моделирование. Вариант №11
Лабораторная работа No1 Данные задачи по вариантам: Номер варианта Количество генерируемых случайных величин R 11 300 85 Тема: Определение числа пи на базе подхода Монте-Карло Задание: Определить число пи с использованием зависимости отношения площади квадрата к площади, вписанного в квадрат круга, вычислить ошибку полученной величины. Данная задача базируется на следующей зависимости для определения числа пи. Возьмем квадрат со стороной 2R, тогда его площадь 4R2. Площадь вписанной в данны
User IT-STUDHELP : 5 июня 2019
650 руб.
promo
Схема крепления скребковая очистная установке газопровода-Чертеж-Оборудование транспорта нефти и газа-Курсовая работа-Дипломная работа
Схема крепления скребковая очистная установке газопровода-(Формат Компас-CDW, Autocad-DWG, Adobe-PDF, Picture-Jpeg)-Чертеж-Оборудование транспорта нефти и газа-Курсовая работа-Дипломная работа
400 руб.
Схема крепления скребковая очистная установке газопровода-Чертеж-Оборудование транспорта нефти и газа-Курсовая работа-Дипломная работа
Курсовая работа по дисциплине: Радиоприемные устройства систем радиосвязи и радиодоступа. Вариант 04
«Разработка трансляционного ДСКВ приемника» Содержание Задание и исходные данные 3 Введение 4 1. Предварительный расчет структурной схемы проектируемого приемника 5 1.1 Общая структурная схема приемника 5 1.2 Расчет фильтрующих цепей преселектора 5 1.2.1 Определение полосы пропускания преселектора 5 1.2.2 Расчет числа контуров преселектора 7 1.3 Расчет избирательных цепей тракта ПЧ 8 1.4 Выбор типа АИМС и транзисторов 11 1.4.1 Описание ИМС К174ХА2 11 1.4.2 Подготовка необходимых данных 15 1.4
User Roma967 : 10 июля 2023
1500 руб.
promo
Лабораторная работа №3 по дисциплине: «Метрология, стандартизация, сертификация» Тема: «Измерение напряжения электрических сигналов». Вариант 08. Выполнено по новой методичке!
Лабораторная работа №3 По дисциплине: «Метрология, стандартизация, сертификация» Тема: «Измерение напряжения электрических сигналов». Вариант 08. Выполнено по новой методичке! Цель работы 1.1. Изучить: 1.1.1 Параметры переменных напряжений и токов; 1.1.2 Методы измерения параметров переменных напряжений и токов; 1.1.3 Принцип действия, устройство и метрологические характеристики электронных вольтметров; 1.1.4 Особенности измерения напряжения электронными вольтметрами переменного тока; 1.1.5 Ис
User mirex2014 : 27 апреля 2017
350 руб.
up Наверх