C++服务器 - 超过1024个连接

C++服务器 - 超过1024个连接

问题描述:

我有一个C++聊天服务器,在linux中运行并使用libev库。如果我尝试连接超过1024个客户端,它将会以-1文件描述符的方式崩溃。C++服务器 - 超过1024个连接

我想允许超过1024并发连接到服务器。看看libev文档,看起来它可以配置为使用select,poll和epoll,尽管我不确定默认是什么。

有关如何使用libev增加文件描述符限制的任何提示或参考将不胜感激!

+2

http://www.kegel.com/c10k.html – 2013-04-28 22:32:18

您需要增加允许的每进程文件句柄。您可以允许用户使用更多的文件句柄与此:

# Put this in /etc/security/limits.conf 
someusername  soft nofile 65535 
someusername  hard nofile 65535 

(其中someusername是将运行程序的用户)

+0

而相关的系统调用是[setrlimit(2)](http://man7.org/linux/man-pages/man2/setrlimit.2.html)与'RLIMIT_NOFILE' – 2013-04-29 05:23:40