C# 怎么多次读取数据包
C# 如何多次读取数据包
如:客户端有个byte[2000]的流(甚至更大)发送到了服务器端,那么服务器端 byte[] _cmdBuff = new byte[XX];
clientSkt.Receive(_cmdBuff); 这个_cmdBuff长度如何去定义,我定义个9999,万一客户端发送过来的更大呢,很头疼啊!
------解决思路----------------------
只要知道包的大小
一次没有收完,继续receive就可以呀
把收到的包放到队里之类的容器中,
然后拼包就可以了
------解决思路----------------------
资源里面有个,可以下载看看
http://download.****.net/detail/luyikk/1945841#comment
如:客户端有个byte[2000]的流(甚至更大)发送到了服务器端,那么服务器端 byte[] _cmdBuff = new byte[XX];
clientSkt.Receive(_cmdBuff); 这个_cmdBuff长度如何去定义,我定义个9999,万一客户端发送过来的更大呢,很头疼啊!
------解决思路----------------------
只要知道包的大小
一次没有收完,继续receive就可以呀
while(received < totalLength)
{
int length = clientSkt.Receive(yourBuff);
received += length;
...
// do sth
}
把收到的包放到队里之类的容器中,
然后拼包就可以了
------解决思路----------------------
资源里面有个,可以下载看看
http://download.****.net/detail/luyikk/1945841#comment