Skip to content

compashka/udp-interaction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

HelloUDP

  • Клиент и сервер, взаимодействующие по UDP.
  • Класс HelloUDPClient отправляет запросы на сервер, принимает результаты и выводит их на консоль.
    • Аргументы командной строки:
      • имя или ip-адрес компьютера, на котором запущен сервер;
      • номер порта, на который отсылать запросы;
      • префикс запросов (строка);
      • число параллельных потоков запросов;
      • число запросов в каждом потоке.
    • Запросы одновременно отсылаются в указанном числе потоков. Каждый поток ожидает обработки своего запроса и выводит сам запрос и результат его обработки на консоль. Если запрос не был обработан, он посылается заново.
    • Запросы формируются по схеме <префикс запросов><номер потока>_<номер запроса в потоке>.
  • Класс HelloUDPServer принимает задания, отсылаемые классом HelloUDPClient и отвечает на них.
    • Аргументы командной строки:
      • номер порта, по которому будут приниматься запросы;
      • число рабочих потоков, которые будут обрабатывать запросы.
    • Ответ на запрос: Hello, <текст запроса>.
    • Если сервер не успевает обрабатывать запросы, прием запросов может быть временно приостановлен.

HelloNonblockingUDP

  • Клиент и сервер, взаимодействующие по UDP, используется только неблокирующий ввод-вывод.
  • Класс HelloUDPNonblockingClient имеет функциональность аналогичную HelloUDPClient, но без создания новых потоков.
  • Класс HelloUDPNonblockingServer имеет функциональность аналогичную HelloUDPServer, но все операции с сокетом производятся в одном потоке.
  • В реализации нет активных ожиданий, в том числе через Selector.

About

ITMO -- 6 semester

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages