ACE_Proactor框架,服务器端如何管理多个客户端?
急!在ACE_Proactor框架中, 服务器端如何才能有效的管理每一个连接的客户端?
还需要什么其他的框架吗? 自己里面拿容器进行地址和对象的映射即可。很简单。
ACE_Proactor框架,服务器端如何管理多个客户端?
客户端是长连接服务器端,怎么能增加连接的数量?比如服务器定义的是可以连接1024个客户端, 如果有2000个客户端要连接服务器,
怎么办?还能用这种“自己里面拿容器进行地址和对象的映射即可”的方法吗? too simple.
服务器上来客户请求和链接,可以自己计数,统计数量,超过数量,拒绝访问。 最近在玩template,送楼主一个好东东:#include "ace/Atomic_Op.h
template<class T> class Counted {
static ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> count;
public:
Counted() { ++count; }
Counted(const Counted<T>&) { ++count; }
static unsigned long getCount() { return count.value(); }
protected:
~Counted() { --count; }
};
template<class T> ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> Counted<T>::count(0);
用法:
class CountedClass : public Counted<CountedClass> {};
class CountedClass2 : public Counted<CountedClass2> {};
如果不用多线程的话,可把ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>改成unsigned long
[ 本帖最后由 wishel 于 2009-12-1 15:35 编辑 ]
ACE_Proactor框架,服务器端最多可以连接多少个客户端?
windows server 2003操作系统的服务器,在ACE_Proactor框架下,最多可以连接多少个客户端?能连接3000个客户端吗?如果能连接3000个客户端的话, 那他的并发数是多少呢? 就IOCP本身来说支持3000客户端不成问题 参考这篇文章:
http://www.acejoy.com/bbs/viewthread.php?tid=874&extra=page%3D4
页:
[1]