Клиент подключается к серверу, после чего периодически должен посылать сообщение «ping», на что сервер должен отвечать «pong». Если кто-то нарушает договоренность, соединение закрывается.
Соединение нужно для того, чтобы сервер мог посылать некоторые данные M клиентам в произвольный момент времени.
Проблема в следующем. Есть вероятность, что M будет отправлено в тот момент, когда клиент посылает «ping», в результате чего клиент может сначала получить M и оборвать соединение, так и не получив «pong».
Мое решение. После отправки «ping» ожидать «pong» некоторое время, обрабатывая все сообщения. Если за это время «pong» не был получен, то связь прерывается. Но почему-то мне это не очень нравится.
Как обычно решается такая ситуация?
Похожие темы
- Форум Работа из сокетами (2010)
- Форум Голосовое общение (сервер + клиенты) (2007)
- Форум Общение web сервера и клиента (2017)
- Форум Общение (2021)
- Форум Общение (2008)
- Форум Сервер общения (2015)
- Форум [ЖЖ] общение (2010)
- Форум безопасность общения (2010)
- Галерея Мания общения (2005)
- Новости Ricin — новый клиент популярного протокола для приватного общения Tox (2016)