CSocket::OnReceive()

mjfhigh 2006-08-23 06:09:26
1、当有数据到达的时候是否会触发OnReceive()事件?
2、如果当有数据1来了,就触发OnReceive事件,而我在该函数体内进行处理(Receive()),然后对该数据1进行处理,也就是说该函数OnReceive()还没有执行完,这个时候又有数据2从客户端发过来了,这时OnReceive()应该不会被触发,对吧?然后,那么当我处理完数据1后,OnReceive()还能被触发,让我继续接收已经到了的第二批数据2吗?
...全文
381 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanqing 2006-09-21
  • 打赏
  • 举报
回复
找到一篇文章是这样说的:第一次 有数据发来会OnReceive()事件,以后只有重满状态到不满状态时再有数据发来就在会OnReceive()事件
fanqing 2006-09-16
  • 打赏
  • 举报
回复
关注
也想知道
明天去抢劫 2006-08-24
  • 打赏
  • 举报
回复
接收有缓冲区的,如果缓冲区满的话数据就发不过来,发送方会产生错误
MFC的SOCKET类用的是窗口消息机制,1和2表示窗口接收了2个SOCKET消息,要按顺序处理,所以在处理完1后才会接收2
mjfhigh 2006-08-23
  • 打赏
  • 举报
回复
关键是数据2是在处理处理数据1的时候到的,数据2不会丢失,会在数据1 处理完之后也就是OnReceive()函数结束后,再次出发OnReceive()函数,来接受数据2对吗?
还有一问就是如果客户端发送数据的速度很快很快啊,而服务器端接收的速度很慢,也不会造成数据丢失或者缓存溢出……
su47flying 2006-08-23
  • 打赏
  • 举报
回复
1当有数据到达的时候会触发OnReceive()事件
2处理完1后接受的是第二批数据2。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧