yleesun 发表于 2009-6-30 11:53:40

ACE_SVC_Handler消息循环

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

modern 发表于 2009-6-30 12:46:03

单看你叙述的部分,没有什么问题,检测一下,
Task内运行事件循环之前,是否调用了owner。
ACE_Reactor::instance()->owner(ACE_OS::thr_self ());
ACE_Reactor::instance()->run_reactor_event_loop();

yleesun 发表于 2009-6-30 13:32:43

多谢版主!!!
我没有加
Task内运行事件循环之前,是否调用了owner。
ACE_Reactor::instance()->owner(ACE_OS::thr_self ());
现在加上就可以了,请问这是为什么?

wishel 发表于 2009-6-30 14:55:22

原帖由 yleesun 于 2009-6-30 13:32 发表 http://www.acejoy.com/bbs/images/common/back.gif
多谢版主!!!
我没有加
Task内运行事件循环之前,是否调用了owner。
ACE_Reactor::instance()->owner(ACE_OS::thr_self ());
现在加上就可以了,请问这是为什么? ...

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

另外,恭喜Modern升任版主哈

modern 发表于 2009-6-30 15:13:45

我中午那阵还纳闷为什么页面怎么突然多了不少按钮呢,
还以为是网速慢刷新的问题呢。
多谢wishel 的提醒哦~

yleesun 发表于 2009-6-30 16:43:34

怎么才能成为版主啊?

wishel 发表于 2009-6-30 17:07:51

原帖由 yleesun 于 2009-6-30 16:43 发表 http://www.acejoy.com/bbs/images/common/back.gif
怎么才能成为版主啊?

我也被老大提升为版主了。:victory:
如果你愿意同大家多交流,有志为大家服务。可以向winston老大提出申请。
页: [1]
查看完整版本: ACE_SVC_Handler消息循环