БлокирующийСервер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(Адрес: Строка, Порт: Число, РазмерОчереди: Число = 50)
БлокирующийСерверTcp
@ИменованныеПараметры
БлокирующийСерверTcp(
Адрес: Строка,
Порт: Число,
РазмерОчереди: Число = 50)Адрес- адрес, на котором будет запущен сервер.Порт- порт, на котором будет запущен сервер. Допустимый диапазон 0-65535. Если указано значение0, то порт будет выбран ОС из числа свободных.РазмерОчереди- максимальное количество клиентов, которые могут ожидать подключение к серверу.
Исключения
ИсключениеВводаВывода - при ошибках сети. ИсключениеTcp - при ошибках TCP-сервера.
Перегрузка
БлокирующийСерверTcp(СетевойАдрес: СетевойАдрес, РазмерОчереди: Число = 50)
Свойства
РазмерОчереди
ТолькоЧтение
РазмерОчереди: ЧислоМаксимальное количество клиентов, которые могут ожидать подключение к серверу.
Методы
Закрыть
Закрыть()Переопределение
Закрываемое::Закрыть
ОжидатьСоединения
ОжидатьСоединения(Таймаут: Длительность? = Неопределено): ВходящееСоединениеTcpТаймаут- длительном ожидание соединения, если указаноНеопределено, то ожидание будет неограниченно.
Исключения
ИсключениеВводаВывода - при ошибках сети. ИсключениеTcp - при ошибках TCP-сервера. ИсключениеТаймаутаTcp - при истечении таймаута ожидания соединения.
Остановить
Остановить()Исключения
ИсключениеTcp - при ошибках остановки TCP-сервера.
ПолучитьСетевойАдрес
ПолучитьСетевойАдрес(): СетевойАдресИсключения
ИсключениеTcp - при ошибках TCP-сервера.