You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Класс HelloUDPClient отправляет запросы на сервер, принимает результаты и выводит их на консоль.
Аргументы командной строки:
имя или ip-адрес компьютера, на котором запущен сервер;
номер порта, на который отсылать запросы;
префикс запросов (строка);
число параллельных потоков запросов;
число запросов в каждом потоке.
Запросы одновременно отсылаются в указанном числе потоков. Каждый поток ожидает обработки своего запроса и выводит сам запрос и результат его обработки на консоль. Если запрос не был обработан, он посылается заново.
Запросы формируются по схеме <префикс запросов><номер потока>_<номер запроса в потоке>.
Класс HelloUDPServer принимает задания, отсылаемые классом HelloUDPClient и отвечает на них.
Аргументы командной строки:
номер порта, по которому будут приниматься запросы;
число рабочих потоков, которые будут обрабатывать запросы.
Ответ на запрос: Hello, <текст запроса>.
Если сервер не успевает обрабатывать запросы, прием запросов может быть временно приостановлен.
HelloNonblockingUDP
Клиент и сервер, взаимодействующие по UDP, используется только неблокирующий ввод-вывод.
Класс HelloUDPNonblockingClient имеет функциональность аналогичную HelloUDPClient, но без создания новых потоков.
Класс HelloUDPNonblockingServer имеет функциональность аналогичную HelloUDPServer, но все операции с сокетом производятся в одном потоке.
В реализации нет активных ожиданий, в том числе через Selector.