我目前正在开发游戏服务器,为了避免从头开始开发服务器,我们使用了tomcat 7.0,以便专注于游戏逻辑。
根据要求,我使用websocket与客户端进行通信,但是当许多客户端已连接到服务器时,无法建立新的连接,我怀疑已建立的连接数是否已达到最大数量。顺便说一下,tomcat使用了APR连接器。
因此,我的问题是:
任何帮助将不胜感激,在此先感谢!
最佳答案
为了达到Tomcat中最大的事件websocket连接,需要完成以下配置更改。
{CATALINA_HOME}/conf/server.xml
<Connector connectionTimeout="-1" port="8080"
protocol="org.apache.coyote.http11.Http11NioProtocol"
redirectPort="8443" maxConnections="100000" acceptCount="300"/>
$ cat /proc/sys/net/ipv4/ip_local_port_range
将此值从50更改为65535。
$ sysctl -w net.ipv4.ip_local_port_range="500 65535"
如果服务器和客户端在不同的计算机上运行,则上述配置更改允许在2GB的Intel Core i5计算机中约有5万条实时连接。
关于tomcat - Tomcat 7.0支持的事件Websocket连接的最大数量是多少,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23737176/