C# 怎么多次读取数据包

C# 如何多次读取数据包
如:客户端有个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