Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4-1 Мережне програмування / ЛК / Лекция 5 Сетевое программирование - Сокеты для серверов.pptx
Скачиваний:
115
Добавлен:
02.02.2021
Размер:
145.59 Кб
Скачать

Харьковский Национальный Университет Радиоэлектроники

Кафедра Инфокоммуникационной инженерии

Сокеты. Серверная часть (часть 2)

Доцент кафедри ИКИ Евдокименко Марина Александровна

2017

Класс ServerSockets

Используется для создания серверной части TCP-сокетов.

В Java базовый жизненный цикл серверной программы следующий:

1.Создается новый экземпляр класса ServerSocket используя конструктор ServerSocket() и указывается конкретный порт для работы.

2.ServerSocket слушает на этом порту входящие попытки подключения используя метод accept(). Метод блокирует пока клиент не пробует подключиться, на этом этапе accept() возращает объект Socket соединяющий клиента и сервера.

3.В зависимости от принципа работы сервера вызывается метод getInputStream(), getOutputStream() или оба эти методы для того чтобы получить входящий и исходящий потоки, осуществляющие обмен с клиентом.

4.Сервер и клиент взаимодействуют по согласованному протоколу пока не наступит время для закрытия соединения.

5.Сервер, клиент или обе стороны закрывают соединение.

6.Сервер возвращается к пункту 2 и ожидает подключение.

ServerSockets – конструкторы

Для создания и инициализации объектов ServerSocket используются следующие конструкторы, определенные в классе ServerSocket:

public ServerSocket(int port_number)

Создает сокет сервера на заданный порт на локальной машине. Клиентам следует использовать этот порт, чтобы общаться с сервером. Если номер порта 0, то сокет сервера создается на любой свободный порт локальной машины.

public ServerSocket(int port, int backlog)

Создает сокет сервера на заданный порт на локальной машине. Второй параметр задает максимальное количество соединений клиентов, которые сокет сервера поддерживает на заданном порту.

public ServerSocket(int port, int backlog, InetAddress bindAddr)

Создает сокет сервера на заданный порт. Третий параметр используется для создания сокета сервера хоста, подключенного к нескольким физическим линиям (multi-homed host). Сокет сервера принимает запросы клиента только с заданных IP адресов.

Без порта – сет и вызвать бинд

Некоторые полезные методы класса ServerSocket

Пример

Соседние файлы в папке ЛК