找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4113|回复: 6

ACE_SVC_Handler消息循环

[复制链接]
发表于 2009-6-30 11:53:40 | 显示全部楼层 |阅读模式
我用Connector-Acceptor框架实现的一个客户端程序,在主线程中连接服务器,用另一个ACE_Task继承类运行ACE_Reactor消息循环:ACE_Reactor::instance()->run_reactor_event_loop();
现在的问题是:可以成功连接服务器,也可以成功收到服务器发来的数据,但是却无法发送数据,连handle_timeout方法也不起作用了。
还望大侠指点!
发表于 2009-6-30 12:46:03 | 显示全部楼层
单看你叙述的部分,没有什么问题,检测一下,
Task内运行事件循环之前,是否调用了owner。
ACE_Reactor::instance()->owner(ACE_OS::thr_self ());
ACE_Reactor::instance()->run_reactor_event_loop();
 楼主| 发表于 2009-6-30 13:32:43 | 显示全部楼层
多谢版主!!!
我没有加
Task内运行事件循环之前,是否调用了owner。
ACE_Reactor::instance()->owner(ACE_OS::thr_self ());
现在加上就可以了,请问这是为什么?
发表于 2009-6-30 14:55:22 | 显示全部楼层
原帖由 yleesun 于 2009-6-30 13:32 发表
多谢版主!!!
我没有加
Task内运行事件循环之前,是否调用了owner。
ACE_Reactor::instance()->owner(ACE_OS::thr_self ());
现在加上就可以了,请问这是为什么? ...

具体可以看书上关于wfmo reactor部分。wfmo reactor跑timer event,需要调用owner()成为owner线程才可以。

另外,恭喜Modern升任版主哈
发表于 2009-6-30 15:13:45 | 显示全部楼层
我中午那阵还纳闷为什么页面怎么突然多了不少按钮呢,
还以为是网速慢刷新的问题呢。
多谢wishel 的提醒哦~
 楼主| 发表于 2009-6-30 16:43:34 | 显示全部楼层
怎么才能成为版主啊?
发表于 2009-6-30 17:07:51 | 显示全部楼层
原帖由 yleesun 于 2009-6-30 16:43 发表
怎么才能成为版主啊?

我也被老大提升为版主了。:victory:
如果你愿意同大家多交流,有志为大家服务。可以向winston老大提出申请。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-23 17:21 , Processed in 0.015093 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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