front_windy 发表于 2009-7-13 12:35:46

虚心请教一个设计上的问题

我现在要用ACE做一个数据转发的程序。这个程序既是服务器也是客户端。作为客户端要去连接若干个服务器去要数据(10个左右),又要作为服务器向他的客户端(10个左右)发送从服务器要来的数据,而且是选择性的发送,不是遍历每个客户端发送。选择规则由他从服务器要来的数据再经过解析后决定。如果实现此功能,这个程序的架子怎么搭,用ACE的哪种框架最好。而且还要考虑效率。

wishel 发表于 2009-7-13 13:41:26

总共20来个连接,reactor最好。

front_windy 发表于 2009-7-13 13:54:58

那效率呢,主要是现在要求效率一定要上去。reactor的效率好吗?不是说proactor的效率比较高吗?



(汗,误编辑了你的帖子)

[ 本帖最后由 wishel 于 2009-7-13 14:34 编辑 ]

winston 发表于 2009-7-13 14:18:06

就那么几个链接,能有啥差别。reactor又简单又方便了。

wishel 发表于 2009-7-13 14:34:21

原帖由 front_windy 于 2009-7-13 13:54 发表 http://www.acejoy.com/bbs/images/common/back.gif
那效率呢,主要是现在要求效率一定要上去。reactor的效率好吗?不是说proactor的效率比较高吗?

proactor的效率比较高?
任何效率都要在一定的前提条件下。

见过太多的悖论:多线程效率比单线程高,proactor效率比reactor高,等等。。。
一个框架可能因为引入了管理和切换开销降低效率,同时也可能提高了并发性而提高效率,最终效果要结合具体环境综合评估和测量

front_windy 发表于 2009-7-13 14:48:05

我在ACE基础应用板块也开了这个帖子,那里边可能说的明白一点,morden建议我用reactor。

wishel 发表于 2009-7-13 15:00:21

呵呵,你不仅是ACE的初学者,甚至是网络编程的初学者
学ACE需要大量的投入的,做好心理准备
modern写了一个初学者指南,建议看一下
页: [1]
查看完整版本: 虚心请教一个设计上的问题