CAsyncSocket::Send()函数由于不进行阻塞,因此如果连续发送大数据时,会可能出现数据拥塞,Send()返回 -1 。
此时发送进度应该暂停,通过OnSend()函数获得发送时刻继续后续发送。
但是,再次发送时,也应坚持Send函数的返回值,如果为-1,仍需等待。
本以为通过OnSend获得发送时机就不会出现发送失败,今天被这个问题困了几个小时。
CAsyncSocket::Send()函数由于不进行阻塞,因此如果连续发送大数据时,会可能出现数据拥塞,Send()返回 -1 。
此时发送进度应该暂停,通过OnSend()函数获得发送时刻继续后续发送。
但是,再次发送时,也应坚持Send函数的返回值,如果为-1,仍需等待。
本以为通过OnSend获得发送时机就不会出现发送失败,今天被这个问题困了几个小时。