У меня есть простое клиент-серверное приложение, которое я скачал с MSDN. Я использовал функцию WSAIoCtl для отправки пакетов keep-alive серверу (), который в конечном итоге выдает WSACONNRESET, если сервер не отвечает на максимальные попытки, сделанные клиентским приложением. Я вижу пакеты поддержки активности (в инструменте Wireshark), пока оба подключены. Теперь, если я отключил кабель, я все еще вижу, что пакеты, поддерживающие активность, отправляются на сервер и принимаются на стороне клиента. Процесс идет на неопределенное время. Я не могу понять, как это могло произойти, так как мой сервер больше не подключен к сети, но соединение остается в состоянии ESTABLISHED.
Мне интересно, как это могло быть возможно. Если я закрою свой сервер при подключении к клиенту, я увижу, что пакеты с поддержкой живого компьютера работают на WireShark. Нет способа обнаружить нарушенное соединение.
Я получаю FIN / ACK от сервера, пока я закрываю серверное приложение, продолжая работать.
Пожалуйста, помогите мне.
Задача ещё не решена.
Других решений пока нет …