字体:  

ACE_SVC_Handler消息循环

yleesun 发表于: 2009-6-30 11:53 来源: ACE 开发者

我用Connector-Acceptor框架实现的一个客户端程序,在主线程中连接服务器,用另一个ACE_Task继承类运行ACE_Reactor消息循环:ACE_Reactor::instance()->run_reactor_event_loop();
现在的问题是:可以成功连接服务器,也可以成功收到服务器发来的数据,但是却无法发送数据,连handle_timeout方法也不起作用了。
还望大侠指点!

最新回复

modern at 2009-6-30 12:46:03
单看你叙述的部分,没有什么问题,检测一下,
Task内运行事件循环之前,是否调用了owner。
ACE_Reactor::instance()->owner(ACE_OS::thr_self ());
ACE_Reactor::instance()->run_reactor_event_loop();
yleesun at 2009-6-30 13:32:43
多谢版主!!!
我没有加
Task内运行事件循环之前,是否调用了owner。
ACE_Reactor::instance()->owner(ACE_OS::thr_self ());
现在加上就可以了,请问这是为什么?
wishel at 2009-6-30 14:55:22

QUOTE:

原帖由 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升任版主哈
modern at 2009-6-30 15:13:45
我中午那阵还纳闷为什么页面怎么突然多了不少按钮呢,
还以为是网速慢刷新的问题呢。
多谢wishel 的提醒哦~
yleesun at 2009-6-30 16:43:34
怎么才能成为版主啊?
wishel at 2009-6-30 17:07:51

QUOTE:

原帖由 yleesun 于 2009-6-30 16:43 发表
怎么才能成为版主啊?
我也被老大提升为版主了。
如果你愿意同大家多交流,有志为大家服务。可以向winston老大提出申请。