Дополнение к описанию протокола.

Все пакеты имеют одну структуру:
Код:
BYTE length; -- общая длина пакета, 2..255
BYTE command; -- команда
???? data; -- данные длиной length-2
Команды:
Код:
REQUEST  -- запрос на подключение к кольцу, данные -- IP-адрес и порт
RESTORE  -- запрос на восстановление связи, данные -- IP-адрес и порт
ALLOWED  -- ответ-разрешение, данные -- IP-адрес и порт следующего участника
DENIED   -- ответ-отказ, данные -- код ошибки
ACK      -- подтверждение подключения, данных нет
DATA     -- передача данных по кольцу, данные -- байтики идущие по кольцу
Арбитр обрабатывает команды REQUEST и RESTORE, остальные игнорирует; в ответ отдаёт ALLOWED и DENIED; после ALLOWED ожидает ACK.
Участник обрабатывает только команду DATA, остальные игнорирует; в ответ на запросы ожидает ответа ALLOWED или DENIED.