使用CAsyncSocket的UDP进行接收数据时,当数据到达时是否也有OnReceive事件发生?

解决方案 »

  1.   

    Send、SendTo;Receive、ReceiveFrom,使用时有什么区别和联系?
      

  2.   

    Send和Receive是面向连接的协议中使用
    SendTo和ReceiveFrom是无连接协议中使用
      

  3.   

    int ReceiveFrom(
       void* lpBuf,
       int nBufLen,
       CString& rSocketAddress,
       UINT& rSocketPort,
       int nFlags = 0 
    );
    前面四个参数和Receive是一样的,其中包括标志M S G _ O O B和M S G _ P E E K。在使用无连接套接字时,和前面一样,仍然提醒大家慎用M S G _ P E E K标志。对监听套接字的具体协议来说,f r o m参数是一个S O C K A D D R结构,带有指向地址结构的长度的f r o m l e n。这个A P I调用返回数据时,S O C K A D D R结构内便填入发送数据的那个工作站的地址。
      

  4.   

    int SendTo(
       const void* lpBuf,
       int nBufLen,
       UINT nHostPort,
       LPCTSTR lpszHostAddress = NULL,
       int nFlags = 0 
    );
    除了lpBuf是发送数据的缓冲,nBufLen指明发送多少字节外,其余参数和r e c v f r o m的参数一样。
    另外, lpszHostAddress参数是一个指向S O C K A D D R结构的指针,带有接收数据的那个工作站的目标地址。
    另外,也可以用Winsock 2函数W S A S e n d To。
      

  5.   

    无连接的UDP协议传输数据,当数据到达时是否也有OnReceive事件发生?