Клиент подключается к серверу, после чего периодически должен посылать сообщение «ping», на что сервер должен отвечать «pong». Если кто-то нарушает договоренность, соединение закрывается.
Соединение нужно для того, чтобы сервер мог посылать некоторые данные M клиентам в произвольный момент времени.
Проблема в следующем. Есть вероятность, что M будет отправлено в тот момент, когда клиент посылает «ping», в результате чего клиент может сначала получить M и оборвать соединение, так и не получив «pong».
Мое решение. После отправки «ping» ожидать «pong» некоторое время, обрабатывая все сообщения. Если за это время «pong» не был получен, то связь прерывается. Но почему-то мне это не очень нравится.
Как обычно решается такая ситуация?

Ответ на:
комментарий
от madcore

Ответ на:
комментарий
от madcore



Ответ на:
комментарий
от nanoo_linux
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Dark_SavanT
Ответ на:
комментарий
от rival
Ответ на:
комментарий
от rival

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.