Я пишу серверное приложение C # .NET, которое отправляет и получает данные через сокеты, и у меня возникают некоторые проблемы, если происходит сбой клиентского приложения без правильного закрытия сокета.
Я установил тайм-аут приема на заданное значение, и я ожидал, что Socket.Receive () сгенерирует исключение после этого количества времени. Но вместо этого метод просто возвращает 0.
Итак, мой вопрос: возможно ли, что сокет все еще открыт, если Socket.Receive()
возвращает 0? Или я могу с уверенностью предположить, что он не работает?
(Может быть немного сложно понять. Если так, пожалуйста, дайте мне знать в комментариях)