关于CAsyncSocket的一些疑惑,新手在这里请指教
最近在一个程序中用到了异步socket,碰到了一些疑惑,请高手解答。
假设发送方发过来一个数据包,协议采用包头+长度。由于数据过大,底层tcp./ip做了分包处理,
分两次发过来。这样就产生了2 次FD_READ事件,而接收方在接收的时候Onreceive函数里首先recv()一次,
然后循环,根据长度,判断接收到的数据长度是不是一个完整的数据包,如果实际接收长度小于协议里面的长度,
就再recv一次。如果只有一次FD_READ事件没问题,但这一个完整的包产生了2次FD_READ事件,我就感到困惑了。
小弟是新手,意思不知道大家读懂没有。求高手解惑
假设发送方发过来一个数据包,协议采用包头+长度。由于数据过大,底层tcp./ip做了分包处理,
分两次发过来。这样就产生了2 次FD_READ事件,而接收方在接收的时候Onreceive函数里首先recv()一次,
然后循环,根据长度,判断接收到的数据长度是不是一个完整的数据包,如果实际接收长度小于协议里面的长度,
就再recv一次。如果只有一次FD_READ事件没问题,但这一个完整的包产生了2次FD_READ事件,我就感到困惑了。
小弟是新手,意思不知道大家读懂没有。求高手解惑

...全文
相关推荐
vc2010下使用CAsyncSocket的例子
根据从这里下载的文件做了几处Bug修改,并转为vc2010格式 http://download.csdn.net/download/chengbar/3617997
CAsyncSocket 使用例子
使用CAsyncSocket 写的客户端,服务端测试程序,服务端支持多个客户端接入,并有客户端列表显示。
MFC TCP多客户端通信(基于CAsyncSocket)
一个简单且简陋的小测试程序,支持服务器对某客户端,服务器对所有客户端,客户端之间的通信。TCP Socket基于CAsyncSocket的非阻塞异步通信。效果图详见:http://blog.chinaunix.net/uid-28394603-id-5163195.html
CAsyncSocket类的UDP通信
使用CAsyncSocket可实现异步UDP 可在局域网内的不同PC上运行
CAsyncSocket TCP实例
CAsyncSocket TCP实例


网络编程

