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