找回密码
 用户注册

QQ登录

只需一步,快速开始

楼主: peakzhang

proactor与MFC的使用问题

[复制链接]
 楼主| 发表于 2008-7-13 23:26:39 | 显示全部楼层
肯定是你写错了。这是Proactor的模版用法,我一直都是这样用的。你看看Proactor的例子,也是这样的。从来没有运行一堆Proactor的做法。仔细看完 ACE_wrappers\examples\Reactor\Proactor\里面的例子,你就明白了。
 楼主| 发表于 2008-7-13 23:27:07 | 显示全部楼层
我找到我那个关闭时出错的原因了,是我贴的那个线程函数中的这句

ACE_Proactor::instance(p1, 1);

这句的第二个参数改为 0 就好了。

可共用一个proactor事件循环的方法还是不明白怎么个用法,我也感觉我那种方法比较别扭,可毕竟初学,没办法,我看过ACE的例子,可是全是控制台程序,而且我感觉有的地方不太好懂。实在没办法就只有硬着头皮看了。谢谢 winston不厌其烦的讲解。
 楼主| 发表于 2008-7-13 23:27:15 | 显示全部楼层
控制台和具有UI的程序,差别不是本质的,其实UI和ACE集成很容易的。
公用一个Proactor事件循环,就是让你去掉所有的不需要的代码:
ACE_Proactor::instance()->proactor_reset_event_loop(); //重新启动事件循环
ACE_Proactor::instance()->proactor_run_event_loop();
delete p1;
把ACE_Proactor::instance()->proactor_run_event_loop();放入一个独立的线程,就是这么简单。
当然,ACE难学的地方也在于思想要能够绕过弯,化繁为简。
 楼主| 发表于 2008-7-13 23:27:25 | 显示全部楼层
实在是没辙了,在MFC中到底怎么使用proactor框架阿,哪位有简单的例子麻烦给发一个阿,多谢了
 楼主| 发表于 2008-7-13 23:27:30 | 显示全部楼层
本来就没什么问题,还是你理解不够。。。
 楼主| 发表于 2008-7-13 23:27:37 | 显示全部楼层
终于弄好了,真如winston所说,只需在线程中开启一次循环就行了,以前不成功主要是每次连接时都进行open。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

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

GMT+8, 2024-11-21 20:46 , Processed in 0.011893 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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