我们如何找到从套接字接收到的所有字节?我想知道我们何时从没有Socket.Disconnect()方法的套接字接收所有字节?但是,我使用此代码接收所有字节,但是当Scoket.Send(byte[])方法完成时,我使用Socket.Disconnect()方法。列表LBytes=newList();做{System.Threading.Thread.Sleep(50);BytesRead=obj_socket.Receive(obj_buffer,0);LBytes.Append(obj_buffer);}while(BytesRead!=0);因为当我们断开套接字时,套接字读取的是0字节。例如,我们发送了100,000个字节,我们应该接收100,000个字节。你是怎么做到的?当套接字打开时,没有办法在它到达末尾时不阻塞(期待更多数据)。有几种方法:如果是NetworkStream,例如,使用长度前缀:以上是C#学习教程:如何找到从套接字接收到的所有字节?所有分享的内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注—intexpecting=//TODO:readheaderinyourchosenformintbytesRead;while(expecting>0&&(bytesRead=stream.Read(buffer,0,Math.Min(expected,buffer.Length)))>0){//TODO:对新缓冲的数据做一些事情expecting-=bytesRead;}本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
