2017-06-19 43 views
0

我正在用012s編寫一個使用websocket的遊戲,我嘗試在本地計算機上創建一些虛擬websocket連接來測試它。然而,當我創造了超過250個連接它給出了一個錯誤:如何增加本地機器上websocket連接的最大數量?

throw er; // Unhandled 'error' event 
    ^

Error: connect ECONNRESET 127.0.0.1:9999 
    at Object.exports._errnoException (util.js:1014:11) 
    at exports._exceptionWithHostPort (util.js:1037:20) 
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1138:14) 

如何消除這種誤差,並得到測試更多的連接?當連接號在1 - 210的範圍內時,我不會收到錯誤。但是,在210以上有時會出現此錯誤,如果連接數超過250,我總會收到此錯誤。我不確定是什麼原因導致了這個錯誤。是否因爲我的電腦無法處理如此多的本地連接?我使用OSX約塞米蒂(10.10.5)

+0

是否使用Redis的服務器使用網絡插座? –

+0

@HimanshuUpadhyay不,我不是。我只是使用node.js. – newguy

+0

你有一個最小的,可驗證的例子嗎? https://stackoverflow.com/help/mcve – JeffRSon

回答

0

剛剛發現這一點:

Increase TCP max connections on OSX

的原因是,最大打開的文件數在OSX優勝美地限制。我只需要更改最大打開文件數量和最大連接數量。

我會把命令,從上面的鏈接在這裏:

increate最大打開文件

$ sysctl -a | grep files 
kern.maxfiles = 12288 
kern.maxfilesperproc = 10240 

kern.maxfiles和kern.maxfilesperproc是小數字,他們需要增加:

$ sudo sysctl -w kern.maxfiles=12288 
$ sudo sysctl -w kern.maxfilesperproc=10240 

此後,您可以通過ulimit -n增加您的帳戶限制:

$ ulimit -n 10240 

increate最大插座

$ sysctl -a | grep somax 
kern.ipc.somaxconn: 2048 

這是一個小數目,需要增加:

$ sudo sysctl -w kern.ipc.somaxconn=2048 
相關問題