Персональный сайт Александра Тауениса » Особенность сокетов в .NET

Особенность сокетов в .NET

При работе примитивными протоколами (HTTP, FTP, IRC, etc) в среде .NET C# при помощи прямого доступа к сетевым сокетам (что не лучший вариант в обычных ситуациях), может возникать ощущение, что пакеты то ли не отправляются, то ли не принимаются. Сетевая диагностика (wireshark и т.п.) показывает, что отправляться пакеты отправляются, а вот в обратную сторону почему-то не идут. Советую не ломать голову в таких ситуациях, искать буфера в сетевом стеке, беспредел сетевых экранов (хотя экранчики-то мигают в taskbar’e) и прочую дребедень. Проверьте, а добавили ли Вы перенос строки в конец посылаемых сообщений? Многие реализации серверов не смотрят на конец пакета, а смотрят на завершение строки — где-то это \0, где-то \n, а чаще всего это \r\n (Environment.NewLine). Удачи в работе с сокетами!



Оставить комментарий

Защита от спама * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.