找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 6441|回复: 7

ACE_Proactor框架,服务器端如何管理多个客户端?

[复制链接]
发表于 2009-11-27 16:18:22 | 显示全部楼层 |阅读模式
急!
在ACE_Proactor框架中, 服务器端如何才能有效的管理每一个连接的客户端?
还需要什么其他的框架吗?
发表于 2009-11-27 16:35:44 | 显示全部楼层
自己里面拿容器进行地址和对象的映射即可。很简单。
 楼主| 发表于 2009-11-30 10:28:30 | 显示全部楼层

ACE_Proactor框架,服务器端如何管理多个客户端?

客户端是长连接服务器端,怎么能增加连接的数量?
比如服务器定义的是可以连接1024个客户端, 如果有2000个客户端要连接服务器,
怎么办?还能用这种“自己里面拿容器进行地址和对象的映射即可”的方法吗?
发表于 2009-11-30 13:49:03 | 显示全部楼层
too simple.
服务器上来客户请求和链接,可以自己计数,统计数量,超过数量,拒绝访问。
发表于 2009-12-1 15:33:26 | 显示全部楼层
最近在玩template,送楼主一个好东东:
  1. #include "ace/Atomic_Op.h
  2. template<class T> class Counted {
  3.          static ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> count;
  4. public:
  5.          Counted() { ++count; }
  6.          Counted(const Counted<T>&) { ++count; }
  7.          static unsigned long getCount() { return count.value(); }
  8. protected:
  9.          ~Counted() { --count; }
  10. };
  11. template<class T> ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> Counted<T>::count(0);
复制代码

用法:

  1. class CountedClass : public Counted<CountedClass> {};
  2. class CountedClass2 : public Counted<CountedClass2> {};
复制代码

如果不用多线程的话,ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>改成unsigned long

[ 本帖最后由 wishel 于 2009-12-1 15:35 编辑 ]
 楼主| 发表于 2009-12-2 08:14:50 | 显示全部楼层

ACE_Proactor框架,服务器端最多可以连接多少个客户端?

windows server 2003操作系统的服务器,在ACE_Proactor框架下,最多可以连接多少个客户端?
能连接3000个客户端吗?如果能连接3000个客户端的话, 那他的并发数是多少呢?
发表于 2009-12-2 12:26:41 | 显示全部楼层
就IOCP本身来说支持3000客户端不成问题
发表于 2009-12-2 17:39:23 | 显示全部楼层
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

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

GMT+8, 2024-5-3 09:30 , Processed in 0.039194 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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