Перейти к основному содержимому

БлокирующийСерверTcp

Стд::Tcp::БлокирующийСерверTcp

TCP-сервер слушает порт, принимает входящие подключения и обменивается данными по протоколу TCP.

Используется блокирующее I/O.

TCP-сервер может являться основной для таких реализаций, как:

  • FTP-сервер,
  • HTTP-сервер,
  • SSH-сервер,
  • пользовательский произвольный протокол на базе TCP,
  • и т.п.

Сравнение

Ссылочное

Иерархия типа

Базовые типы: Закрываемое, Объект


Примеры

Общие примеры

Реализация Эхо-сервера по TCP. Эхо-сервер - произвольный TCP-сервер, отвечающий на запросы клиента текстом, который он получил от клиента.

метод ПримерЭхоСервер()
знч Разделитель = "\n"
исп Сервер = новый БлокирующийСерверTcp(Адрес = "127.0.0.1", Порт = 5000)

исп Соединение = Сервер.ОжидатьСоединения(30с)
знч ЧтениеДанных = новый ЧтениеДанных(Соединение.ПолучитьПотокЧтения())
знч Сообщение = ЧтениеДанных.ПрочитатьСтроку(РазделительСтрок = Разделитель) // получено "Hello"

исп ПотокЗаписи = Соединение.ПолучитьПотокЗаписи()
ПотокЗаписи.Записать(Строка + Разделитель)
ПотокЗаписи.СброситьБуферы()
;

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

БлокирующийСерверTcp

@ИменованныеПараметры
БлокирующийСерверTcp(
СетевойАдрес: СетевойАдрес,
РазмерОчереди: Число = 50)
Создает новый объект TCP-сервера.

  • СетевойАдрес - сетевой адрес, на котором будет запущен сервер.
  • РазмерОчереди - максимальное количество клиентов, которые могут ожидать подключение к серверу.

Исключения

ИсключениеВводаВывода - при ошибках сети. ИсключениеTcp - при ошибках TCP-сервера.

Перегрузка
БлокирующийСерверTcp(Адрес: Строка, Порт: Число, РазмерОчереди: Число = 50)


БлокирующийСерверTcp

@ИменованныеПараметры
БлокирующийСерверTcp(
Адрес: Строка,
Порт: Число,
РазмерОчереди: Число = 50)
Создает новый объект TCP-сервера.

  • Адрес - адрес, на котором будет запущен сервер.
  • Порт - порт, на котором будет запущен сервер. Допустимый диапазон 0-65535. Если указано значение 0, то порт будет выбран ОС из числа свободных.
  • РазмерОчереди - максимальное количество клиентов, которые могут ожидать подключение к серверу.

Исключения

ИсключениеВводаВывода - при ошибках сети. ИсключениеTcp - при ошибках TCP-сервера.

Перегрузка
БлокирующийСерверTcp(СетевойАдрес: СетевойАдрес, РазмерОчереди: Число = 50)


Свойства

РазмерОчереди

ТолькоЧтение

РазмерОчереди: Число

Максимальное количество клиентов, которые могут ожидать подключение к серверу.


Методы

Закрыть

Закрыть()
Закрывает экземпляр TCP-сервера. Не может быть запущен повторно.

Переопределение
Закрываемое::Закрыть


ОжидатьСоединения

ОжидатьСоединения(Таймаут: Длительность? = Неопределено): ВходящееСоединениеTcp
Ожидает входящего подключения к серверу TCP и возвращает соответствующий объект.

  • Таймаут - длительном ожидание соединения, если указано Неопределено, то ожидание будет неограниченно.

Исключения

ИсключениеВводаВывода - при ошибках сети. ИсключениеTcp - при ошибках TCP-сервера. ИсключениеТаймаутаTcp - при истечении таймаута ожидания соединения.


Остановить

Остановить()
Останавливает TCP-сервер.

Исключения

ИсключениеTcp - при ошибках остановки TCP-сервера.


ПолучитьСетевойАдрес

ПолучитьСетевойАдрес(): СетевойАдрес
Возвращает фактический сетевой адрес, на котором запущен TCP-сервер.

Исключения

ИсключениеTcp - при ошибках TCP-сервера.


Список унаследованных методов

Закрываемое

Закрыть (Переопределение)

Объект

ВСтроку

ПолучитьТип

Представление