剩下的50个字节会再次触发OnReceive

解决方案 »

  1.   

    但是实验的结果是不OK的
    尽管系统的SOCKET缓冲区中还有好多东东
    但是进不了OnReceive的
      

  2.   

    第一次进过OnReceive了吗?
      

  3.   

    如果在连续发送1000个数据包,同时连续不断的收到1000个数据包的话
    由于进程阻塞的原因,在发送期间进不了ONRECEIVE()
    发送完毕之后,进一次ONRECEIVE()
    然后会残留好多数据在系统的SOCKET缓冲区当中
      

  4.   

    这个问题挺有意思,我认为是有数据写buffer时通知.不过这并不影响你的处理.相反,当每次OnReceive()触发时,你应该把Buffer中
    的所有数据收下来.否则,可能导致buffer堆积.
      

  5.   

    可以做个试验,发送方每次发1000个BYTE,接收方接收100BYTE后跳出来,再看看是否会进入ONRECEIVE