代码如下:
while (true)
{
    bytes = client.Receive(DataHead, 9, 0);
    if (bytes <= 0)
          break;
    else
    {
         client.Receive(ReceiveData, model.DataLen, 0);
         DataHead+ReceiveData组成一个byte[],然后处理,保存起来,
    }
}问题描述:Socket接收数据,第一次接收9位,然后再继续接收model.DataLen,
DataHead+ReceiveData组成一个byte[],然后处理,保存起来,
在循环接收while。可以这样子做吗?

解决方案 »

  1.   

    还有第一接收的是后,是从0-8(9位),然后再接收model.DataLen,
    程序是client.Receive(ReceiveData, model.DataLen, 0)
    还是client.Receive(ReceiveData, 9+model.DataLen, 0)????也就是每次接收完以后,下次接收,是从最开始位置(0开始)还是已经接收的就不再接收了,然后从新的位置开始接收!
    第一次接收从0位开始,bytes = client.Receive(DataHead, 9, 0);
    第二次还是从0位开始(前面9位不接收了)client.Receive(ReceiveData, model.DataLen, 0)