由于CAsyncSocket异步套接字发送消息时,相应OnSend事件随即返回,有可能导致封装在其下的Send函数没还调用就返回了。如果主线程频繁调用AsyncSelect(FD_WRITE),就可能造成最后发送的所有数据包都是最后一次调用AsyncSelect(FD_WRITE)时的数据包。即客户端收到的所有数据包包含的信息都是一样的。为了避免这种情况,一是可以再每次调用AsyncSelect(FD_WRITE)后延迟下一次调用,二是发送时不调用AsyncSelect(FD_WRITE),而是直接使用Send函数发送消息。
【网络通信】CAsyncSocket异步套接字中的注意点
最新推荐文章于 2021-12-29 10:00:58 发布