我想要一個服務器,多個客戶端需要打開一個websocket併發送數據。但它看起來像很多客戶無法建立連接..Websocket連接卡在FIN_WAIT1 FIN_WAIT2狀態
在服務器計算機上,當我做一個lsof
或netstat -an
,我看到了很多的連接狀態FIN_WAIT1
從連接FIN_WAIT2
開示處於ESTABLISHED
狀態。截至目前,打開文件的ulimit是1024。 在這兩個狀態中卡住的連接會被計入打開的文件列表中嗎?如果是這樣的話,1024極限會很快耗盡。
/proc/sys/net/ipv4/tcp_orphan_retries
是0
,這相當於8
似乎 https://serverfault.com/questions/274212/what-does-tcp-orphan-retries-set-to-0-mean/408882#408882
我諮詢這個鏈接: https://serverfault.com/questions/7689/how-do-i-get-rid-of-sockets-in-fin-wait1-state
但我不明白得多。 我已經閱讀了關於網絡上的這兩個狀態,並且我意識到它們是協議的一部分,但我更喜歡這些連接不會卡在它們沒有用的狀態。 我能以某種方式做到嗎?我應該改變ulimit嗎?但那只是意味着問題將在x + y而不是x時發生。