VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 867|回复: 4

大家来看一下这个情况,不调用OnReceive

[复制链接]

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-12-16 21:30:01 | 显示全部楼层 |阅读模式
客户端从CAsyncSocket中派生个自己的类,重写了OnReceive函数。服务器端每隔一段时间就会发个断线的检测包。客户端丢弃该包。但当客户端需要等待服务端返回数据时我使用了WaitForSingleObject来等待事件。该事件在该类接收到数据后设置有信号状态。问题是,使用WaitForSingleObject后好像不能接收到数据了(不调用OnReceive).导致程序不能正确得到服务端发来的数据。有什么方法可以解决啊?
回复

使用道具 举报

0

主题

70

帖子

42.00

积分

新手上路

Rank: 1

积分
42.00
发表于 2020-12-18 17:30:01 | 显示全部楼层
1. 客户端连接服务器成功?
2. 服务器发送数据成功?
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-12-18 18:00:01 | 显示全部楼层
都成功了,可一调用等待事件,结果数据本身都收不到了。事件设为有信号是在接收到数据后,结果就阻塞了
回复

使用道具 举报

0

主题

70

帖子

42.00

积分

新手上路

Rank: 1

积分
42.00
发表于 2020-12-18 23:00:01 | 显示全部楼层
你在那里调用的 WaitFor.. ?
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-12-19 11:15:01 | 显示全部楼层
那个连接类的一个成员函数里面,OnReceive也在那里面,这样不行吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表