我需要基準多個套接字連接。我有這個下面的代碼服務器的NodeJS:通過1000個連接的套接字IO無限循環
var io = require('./lib/node_modules/socket.io').listen(12345)
io.sockets.on("connect", function(socket) {
console.log("Socket " + socket.id + " connected.")
socket.on("disconnect", function() {
console.log("Socket " + socket.id +" disconnected.")
})
})
和客戶端的NodeJS:
var port = 12345
, nbSocket = 1000
, io = require("./lib/node_modules/socket.io-client")
for (var i = 1;i <= nbSocket;i++)
{
var socket = io.connect("http://<<my_ip>>:" + port, {forceNew: true})
}
當被執行客戶端代碼,服務器連接正確,插座和正常結束。
但是,如果我們將nbSocket更改爲2000,服務器永遠不會結束連接和斷開套接字。
我們已經嘗試與改變限制:
ulimit -n5000
但它並沒有奏效。是否有另一個限制或我們錯過了什麼?
「連接和斷開連接」是什麼意思?是否顯示消息「Socket已斷開連接」?因爲,從我在代碼中看到的情況來看,沒有理由讓套接字斷開連接,除非您停止了客戶端腳本。 –