C #: Socket.ReceiveAsync и частичное получение - PullRequest
2 голосов
/ 14 ноября 2010

При использовании асинхронных сокетов, в частности, Socket.ReceiveAsync, возможно ли сделать «частичный» прием? Например, я хотел бы указать, что я ожидаю 1024 байта для объекта SocketAsyncEventArgs, но я хочу разрешить получение только его части; например, 512 байт. Поэтому вместо того, чтобы ждать, пока все 1024 байта будут доступны, я бы хотел, чтобы он перезвонил с этими 512 байтами.

Возможно ли это вообще с асинхронными сокетами? Или мне нужно прибегнуть к неблокирующему синхронному режиму?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 11 января 2011

Оказывается, что я описал в вопросе, как именно это работает;если указано 1024 байта, полученные байты могут быть чем угодно <= 1024 байта. </p>

0 голосов
/ 14 ноября 2010

Просто укажите, сколько вам нужно.Остальное все равно будет в следующий раз, если вы не говорите об UDP ...

...