node.js服务器限制新的连接

我正在使用node.js创build一个服务器,用于向客户端发送服务器发送的事件。 我在Windows 7机器上运行服务器。

我连接的方式是使用apache httpclient发送HTTP get请求,build立TCP连接并从服务器接收事件。 我注意到,在我连接11个客户端的同时,以前的连接closures。

Node.js有没有限制? 还是这个系统特有? 我一直在这个谷歌search,我什么都找不到。

以下是我要发送的请求中的示例代码:

HttpClient httpClient = HttpClientBuilder.create().build(); String domain = "..."; HttpUriRequest httpGet = new HttpGet(domain); String encoding = "..." httpGet.setHeader(new BasicHeader("Authorization", "Basic " + encoding)); httpGet.setHeader(new BasicHeader("Content-Type", "text/event-stream")); HttpResponse resp = httpClient.execute(httpGet); HttpEntity entity = resp.getEntity(); if (resp.getStatusLine().getStatusCode() != 200){ String responseString = EntityUtils.toString(entity, "UTF-8"); System.out.println(responseString); } 

我在testing代码中做了很多次。

谢谢你的帮助!

由于节点js v0.12的http.globalAgent.maxSockets已经设置为Infinity ,所以这是一个客户端问题。

这应该为客户端设置限制:

 http.globalAgent.maxSockets = 1000; 

另一种select是将一个Agent对象传递给http请求。 看看另一个问题: 如何在Node.js中设置最大的http客户端连接

看看这个属性,看看它是否可以帮助你:

https://nodejs.org/api/http.html#http_agent_maxsockets

根据您使用的Node.js版本,可能会限制打开的连接数量。 尝试提高它:

 http.globalAgent.maxSockets = 128; // or whatever suits your app 
Interesting Posts