CSocket的OnReceive不触发问题

mzy2003 2006-10-27 02:59:56
使用CSocket连接服务器,在OnReceive里接收服务器端定时发送的数据包,有时会出现连接上后OnReceive函数不触发,而使用嗅探器又能探测到服务器发送过来的包。为什么会出现这个现象。CSocket没做其他额外的处理,继承后就简单使用了。请各位解答下!!!!!
...全文
532 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mzy2003 2006-11-22
  • 打赏
  • 举报
回复
自己再up
mzy2003 2006-11-06
  • 打赏
  • 举报
回复
if(WSAAsyncSelect(m_hSocket, AfxGetMainWnd()->GetSafeHwnd(), WM_SOCK_EVENT, FD_READ | FD_CLOSE)==SOCKET_ERROR)//仅选择接收和关闭进行异步机制
连接后调用这句做了异步处理,在WM_SOCK_EVENT这个自定义消息里接收。还是有时嗅叹气连续探到server发的0长度的包或粘在一起的包,这是就不触发接收事件WM_SOCK_EVENT了。继续郁闷着...
qinxiaogang 2006-11-03
  • 打赏
  • 举报
回复
AsyncSelect( FD_READ ); 加上这句试试
widesoft 2006-11-01
  • 打赏
  • 举报
回复
OnRecive要在CSocket派生类中重载一下吧。。。
mzy2003 2006-10-31
  • 打赏
  • 举报
回复
改成api了,recv和closesocket设置为异步,似乎还有这个现象,嗅叹气老连续探到server发的0长度的包或粘在一起的包,这是就不触发接收事件了,server端发生什么了?????????是不是需要设置什么option?
mzy2003 2006-10-28
  • 打赏
  • 举报
回复
改成api做后,要求客户端一直接收服务端发送过来的数据,客户端也每隔几秒发送联络数据到服务端,使用同步Socket,这种应用一般怎么处理,今天弄了一天了,开了一个线程在死循环里不断recv,在计时器里也每隔几秒发送一个固定信息,在线程函数里recv,总返回SOCKET_ERROR。请大虾门支个高招。
meicaikourou 2006-10-27
  • 打赏
  • 举报
回复
因为OnReceive还没接受完成,确认发过来的格式可以让OnRecive接受完成吗?
star119119 2006-10-27
  • 打赏
  • 举报
回复
我只会aip的

不会csocket 帮顶
mzy2003 2006-10-27
  • 打赏
  • 举报
回复
现在已经做程CSocket通信了,改 socket api来不及了,为什么会出现有时不触发OnReceive现象?
toxyboy 2006-10-27
  • 打赏
  • 举报
回复
遇到过CAsyncSocket的问题.CSocket的就不知道了.看你的情况是接收的那边不相应,因该是消息阻塞或者其它什么原因了!
neosu 2006-10-27
  • 打赏
  • 举报
回复
SOCKET的API较好用.
mzy2003 2006-10-27
  • 打赏
  • 举报
回复
牛人哪里区了??????

18,356

社区成员

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

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