当万事具备之时,您的OnSend被MFC调用,这时您的OnSend函数里的Send()之类的东东就可以执行了。不过,不是你去调用OnSend

解决方案 »

  1.   

    何谓万事俱备?能否详细点。就向OnReceive() 在socket 受到消息时自动触发一样,谢谢!
      

  2.   

    好象是的数据发出去的时候吧?好象和select里面的有点不同
      

  3.   

    send()函数如果没有发完数据,系统会在适当的时候调用OnSend函数。表示你可以继续发数据了。(几乎可以把它看作一个消息响应函数)
    发数据未必都要响应OnSend,你自己不断的调用send函数来保证数据全部发送完整也可以,不过这就变成阻塞的了。
      

  4.   

    我想知道:系统什么时候调用OnSend()?
      

  5.   

    比如当你调用send想发送10k的数据,而实际上由于忙或者网络原因导致只发送成功了8k数据。系统知道了这个情况,并且在socket再次可以发送数据的时候调用OnSend函数,通知你可以继续发送上次没有发送完成的数据。
      

  6.   

    OnSend 表示Socket已经准备好发送数据,连接完成即可调用此函数。通常,程序
    传送给Send()函数的数据太多,超过了单个数据包中可以发送的数量,这时,可以调用此函数,这表示,已经发送所有数据,程序可以发送下个缓冲数据。