Технология разработки телекоммуникационных сервисов. Лабораторная работа 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 руб.
Технологии разработки телекоммуникационных сервисов
Приёмы объектно-ориентированного программирования на языке 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 Наверх