Я пытаюсь реализовать простой сервер мгновенного обмена сообщений и подошел со следующей проблемой:Исполнительного пакет подтверждение
Как я могу реализовать протокол с пакетом подтверждения?
Я думаю, что это может быть реализована следующим образом:
>> client sends packet with ACKID and waits for ACKID to arrive
<< server receives packet and sends the same ACKID back
now the client knows the packet was fully delivered.
Но в этой концепции, клиент будет блокировать до тех пор, ACKID не был отправлен обратно, и если другой пакет прерывает этот процесс, то клиент будет блокировать навсегда (или до тех пор, пока не произойдет таймаут).
Ответ прост; вы не блокируете. Нет причин блокировать. Вы можете дождаться ACK и таймаута, если это займет слишком много времени. –
@EdS. Можете привести пример, пожалуйста? – d3L
Почему другой пакет прерывает этот процесс? Только сверстник может отправить вам. – EJP