发送端每次发送100字节
服务器逻辑:
绑定端口后,投递一次 WSARecvFrom,接收10字节
每次 GetQueuedCompletionStatus 成功后继续WSARecvFrom接收10字节.期待:发送端每发送一次,GetQueuedCompletionStatus 成功10次.现象是:发送端每发送一次,GetQueuedCompletionStatus 成功1次iocpUDPWSARecvFrom

解决方案 »

  1.   

    确实是这样的,你需要一次性接收所有数据,你的接收缓冲区不能小于发送数据包的大小.
    每发送一个UDP数据包都是完整独立的,不像TCP是流式的.
      

  2.   

    UDP机制决定,两点之间,只能一发一收或不收,不能一发多收要么一下发10次100字节数据,收到后切分10段处理
    要么发10次10字节数据,收到后直接处理
      

  3.   

    udp为了保证速度就是这样处理的  来了包你不收那就丢了...
      

  4.   

    后来我已经验证了,确实是这样.TCP的搞习惯了.