njf_3829 发表于 2008-12-18 13:35:22

关于proactor问题

我想做一个工程用proactor框架进行通信,这个框架用一个线程通信,同时还有用户界面部分,该部分用于显示修改等事情!该界面用MFC的DOC-View结构,我想问各位大虾如何让,proactor内的对象 响应UI发送的消息,谢谢!

winston 发表于 2008-12-18 16:32:41

Proactor框架中有好几个部分。你想和哪个部分协同操作?
1、如果要主动发送数据,则Proactor实现类中,要提供寻找对端链接地址的接口,就是对端链接好后,本地要保存在对象管理器内备查。这样就能找到。
2、如果要主动链接,更简单了,直接用异步连接器操作即可。
如果有不明之处,请提供细节信息,比如需求、具体应用场景等。否则问题太泛泛,不好回答。

lesliesuo 发表于 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。或者其他方法可以直接发送数据的。

winston 发表于 2008-12-30 17:30:36

自己从类中引出来一个接口就行了!

lesliesuo 发表于 2008-12-31 10:02:58

我看了http://www.acejoy.com/bbs/viewthread.php?tid=641&extra=page%3D6这篇文章,知道怎么把handle引出来了。
现在的问题是,
    while(true)
      ACE_Proactor::instance ()->handle_events ();
这两句是不是应该放到一个子线程里,不能放到ui线程啊?

winston 发表于 2008-12-31 15:24:38

是的。要放到独立的一个线程让它自己去跑就成了。
不过要处理启动和停止。

njf_3829 发表于 2008-12-31 18:13:21

这个好办我已经解决了

lesliesuo 发表于 2008-12-31 19:37:06

我使用了wxWidgets的wxThread类,似乎有问题,当执行到open的时候就失败了。我看看怎么上传代码

winston 发表于 2009-1-1 14:43:38

上下文代码段,贴上来即可。
页: [1]
查看完整版本: 关于proactor问题