TCHAR *msg = new char[1144];
ZeroMemory(msg,sizeof(PACK_CMD));
iCount=Receive(msg,1144);
如果现在接收了500大小数据,现在又有一个100的新数据到了,但那500还没有处理完
那100数据是否接收

解决方案 »

  1.   

    收是一定要收的,通信要优先。
    若是处理可能跟不上,应该开个BUF暂存接收数据。一般来说,处理速度肯定要高于通信速度。
    否则就是算法的问题了。
    若真的是处理速度低于通信速度,
    那你就要问你的上级可不可以丢包了。
      

  2.   

    丢包是不以的。如果前二个或三个包都没有处理完,新数据来了怎么办,开一个BUF好象是不行吧,要是开二个那又要怎么做?
      

  3.   

    呵,开个BUF,在并发处理的时候,
    最好是用个链表。
    接收方每收到一个包,挂到链表上就是了。
    处理方每次从链表头拿包。
      

  4.   

    嗯,只要对方不是不停的发送这么大流量的数据,用链表来缓存数据是完全可行的不过CPtrList我没用过,只会STL的list,也是可行的^_^