社区
网络编程
帖子详情
CSocket的OnReceive不触发问题
mzy2003
2006-10-27 02:59:56
使用CSocket连接服务器,在OnReceive里接收服务器端定时发送的数据包,有时会出现连接上后OnReceive函数不触发,而使用嗅探器又能探测到服务器发送过来的包。为什么会出现这个现象。CSocket没做其他额外的处理,继承后就简单使用了。请各位解答下!!!!!
...全文
608
12
打赏
收藏
CSocket的OnReceive不触发问题
使用CSocket连接服务器,在OnReceive里接收服务器端定时发送的数据包,有时会出现连接上后OnReceive函数不触发,而使用嗅探器又能探测到服务器发送过来的包。为什么会出现这个现象。CSocket没做其他额外的处理,继承后就简单使用了。请各位解答下!!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
牛人哪里区了??????
HEX / RGB 颜色转换工具
颜色转换工具
组合式专用铣齿机床设计(论文 CAD图纸).rar
组合式专用铣齿机床设计(论文 CAD图纸).rar
AI Challenger 2018 阅读理解赛道代码分享.zip
一款 AI 辅助阅读器,三栏设计实现笔记、阅读、对话同屏交互,让深度阅读更高效
易语言源码多任务同时下载源码
易语言源码多任务同时下载源码
Artix-7-XC7A35T-DDR3开发板硬件参考设计资料
源码下载地址: https://pan.quark.cn/s/3a6709c3f9be This is a TPYboard You can get started right away by writing your Python code in 'main.py'. For a serial prompt: - Windows: you need to go to 'Device manager', right click on the unknown device, then update the driver software, using the 'tpybcdc.inf' file found on this drive. Then use a terminal program like Hyperterminal or putty. - Mac OS X: use the command: screen /dev/tty.usbmodem* - Linux: use the command: screen /dev/ttyACM0 Please visit http://www.tpyboard.com/help/ for further help. Designed by TurnipSmart in Shandong!
网络编程
18,357
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章