找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3466|回复: 8

关于proactor问题

[复制链接]
发表于 2008-12-18 13:35:22 | 显示全部楼层 |阅读模式
我想做一个工程用proactor框架进行通信,这个框架用一个线程通信,同时还有用户界面部分,该部分用于显示修改等事情!该界面用MFC的DOC-View结构,我想问各位大虾如何让,proactor内的对象 响应UI发送的消息,谢谢!
发表于 2008-12-18 16:32:41 | 显示全部楼层
Proactor框架中有好几个部分。你想和哪个部分协同操作?
1、如果要主动发送数据,则Proactor实现类中,要提供寻找对端链接地址的接口,就是对端链接好后,本地要保存在对象管理器内备查。这样就能找到。
2、如果要主动链接,更简单了,直接用异步连接器操作即可。
如果有不明之处,请提供细节信息,比如需求、具体应用场景等。否则问题太泛泛,不好回答。
发表于 2008-12-30 17:12:26 | 显示全部楼层
版主我也有类似问题,你可以看一下这个例子:http://www.cnblogs.com/TianFang/archive/2006/12/31/608952.html
这个例子中,ACE_Asynch_Write_Stream,是放在ACE_Service_Handler的派生类中,而我是想在Ui中点击发送,但是又没有办法访问到ACE_Service_Handler。
ACE_Service_Handler在ACE_Asynch_Connector<HA_Proactive_Service> connector;模板声明的。
不知道怎么访问HA_Proactive_Service里的ACE_Asynch_Write_Stream。或者其他方法可以直接发送数据的。
发表于 2008-12-30 17:30:36 | 显示全部楼层
自己从类中引出来一个接口就行了!
发表于 2008-12-31 10:02:58 | 显示全部楼层
我看了http://www.acejoy.com/bbs/viewth ... &extra=page%3D6这篇文章,知道怎么把handle引出来了。
现在的问题是,
    while(true)
        ACE_Proactor::instance ()->handle_events ();
这两句是不是应该放到一个子线程里,不能放到ui线程啊?
发表于 2008-12-31 15:24:38 | 显示全部楼层
是的。要放到独立的一个线程让它自己去跑就成了。
不过要处理启动和停止。
 楼主| 发表于 2008-12-31 18:13:21 | 显示全部楼层
这个好办我已经解决了
发表于 2008-12-31 19:37:06 | 显示全部楼层
我使用了wxWidgets的wxThread类,似乎有问题,当执行到open的时候就失败了。我看看怎么上传代码
发表于 2009-1-1 14:43:38 | 显示全部楼层
上下文代码段,贴上来即可。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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