Когда я устанавливаю
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true);
socket.IOControl(IOControlCode.KeepAliveValues, inOptionValues, null);
Хорошо, я считаю, что это работает! Ошибка, когда я использую wireshark для наблюдения за данными, я нахожу, что длина пакета равна 1, а значение равно 00. Когда я вижу протокол keepalive, длина будет равна 0. Эта проблема долго меня озадачивала. Может кто-нибудь может мне помочь? Скриншот Wirehark