-
Notifications
You must be signed in to change notification settings - Fork 34
Никита Киселев 3530901/70201 lab1 (a&b) #97
Conversation
СборкаСборка осуществляется с помощью Maven и JDK (1.8+).
После сборки в корне проекта появятся 4 .jar всадника с говорящими именами: ЗапускЛюбого приложения: Аргумент клиента: Аргумент сервера: Клиенты поддерживают ввод через pipe ПротоколПротокол универсальный, в основе пары ключ-значение.
Если длина ключа или значения превышает некоторый размер (захардкожено 400 байт), то применяется backpressure - после каждых 400 байт отправитель будет дожидаться подтверждения от клиента. Статусные сообщения: Формат сообщений Handshake - приветственное сообщение от клиента Используемые форматы сообщений: Kick - сообщение об отключении сервером (совпадение ников) MessageUpdate - ретрансляция сообщения другого клиента от сервера Message - отправка сообщения с клиента на сервер РеализацияЗаняла намного больше ожидаемого времени (неблокирующие сокеты, внезапно, неудобно писать), и на данный момент коду не помешает прическа. Клиент Сервер Неблокирующий клиент Неблокирующий сервер |
UPD: Блокирующие:
В остальном, вроде как, все ок Неблокирующие:
Client:
Server:
Ну и сервер перестает отвечать клиентам В целом, по коду все ок |
Сервера теперь конфижутся |
Что теперь:
|
Последнее фича - реконнект, остальные пошел чинить |
Исправлена занятость порта (временная) выставлением флага SO_REUSEADDR |
No description provided.