Буфер SocketAsyncEventArgs заполнен нулями

Я пишу слой сообщений для моей распределенной системы. Я использую IOCP, то есть методы Socket.XXXAsync.

Вот что-то довольно близкое к тому, что я делаю (фактически, моя функция приема основана на его): http://vadmyst.blogspot.com/2008/05/sample-code-for-tcp-server-using.html

What I've found now is that at the start of the program (two test servers talking to each other) I each time get a number of SAEA objects where the .Buffer is entirely filled with zeroes, yet the .BytesTransferred is the size of the buffer (1024 in my case).

Что это значит? Есть ли особые условия для проверки? Моя система интерпретирует это как неполное сообщение и движется дальше, но мне интересно, действительно ли я пропустил некоторые данные. У меня сложилось впечатление, что если ничего не было получено, вы не получили обратный вызов. В любом случае, я вижу в WireShark, что нет входящих пакетов нулевой длины.

При поиске в Google я обнаружил следующее, но не уверен, что моя проблема та же: http://social.msdn.microsoft.com/Forums/en-US/ncl/thread/40fe397c-b1da-428e-a355-ee5a6b0b4d2c

http://go4answers.webhost4life.com/Example/socketasynceventargs-buffer-not-ready-121918.aspx

Ответы на вопрос(1)

Ваш ответ на вопрос