2016-05-13 146 views
0

服务器的NodeJS的Socket运行到256个最大连接

var WebSocketServer = require('ws').Server 
 
    , wss = new WebSocketServer({port: 978});

有关系统的更多信息:

的ulimit -a | grep文件

core file size   (blocks, -c) 0 
file size    (blocks, -f) unlimited 
open files      (-n) 999999 
file locks      (-x) unlimited 

系统是Ubuntu 14,1 GB RAM,256 MB连接上有500 MB空闲空间,因此内存不是问题。

当连接到达时,它达到256个连接,然后停止。

+0

你用什么作为客户端来测试256个连接? ...是否可以在客户端没有新的连接打开? – Myst

+0

我使用javascript socket的浏览器页面作为客户端。打开多个选项卡,并在每个新页面上达到256后,将出现一个错误“套接字仍处于连接状态”。 –

+0

Myst,你是对的。我在Chrome中打开了256个选项卡,分别位于两个不同的Chrome浏览器窗口中(如一个是200个选项卡,另一个是100个选项卡)。但是,而不是300连接,我被困在256连接。以为这是一个服务器问题,但后来我试图从不同的位置/相同的位置不同的浏览器(Opera)打开另一个连接,并获得更多的连接。似乎Chrome浏览器可以打开256个客户端套接字。 –

回答

0

注意一定要注意nodejs的方式,如果你的要求是服务器250加上资源一次。请运行不同端口的多个nodejs程序实例,例如9871,9872,9873等,然后配置apache或nginx在端口978上监听,并将匹配代理到底层nodejs端口。

+0

假设我有几个nodejs实例在4个不同的端口上运行。我如何将它与Apache连接? –