На этой странице приводится пример бесконечного прослушивания порта 13000 на локальной машине
Но это прослушивание не бесконечно, т.к. не сделан выход из цикла, при прочтении последних байт сообщения
Может правильно как-то иначе, но вот исправленный рабочий кусок кода (исправление выделено):
После этого код действительно работает именно так как ожидается :)
Но это прослушивание не бесконечно, т.к. не сделан выход из цикла, при прочтении последних байт сообщения
Может правильно как-то иначе, но вот исправленный рабочий кусок кода (исправление выделено):
После этого код действительно работает именно так как ожидается :)
Условие выхода указано в while. Когда соединение закрывается, возвращается значение ноль, цикл завершится. С вашим новым условием возможно потерять часть данных..
ОтветитьУдалитьСпасибо за важное замечание. Я сейчас не уверен в том, что именно меня сподвигло на написание данной заметки, но смею предположить, что при закрытии стрима во время чтения мы можем свалиться с эксепшеном в stream.Read
Удалить