2017-03-01 69 views

回答

1

socket.io被設計成一個始終連接的連接。 N次後它不會自動斷開連接。事實上,它恰恰相反。如果失去連接,它會自動嘗試重新連接。

一臺服務器可以通過只調用斷開客戶:

socket.disconnect(true); 

其中socket是爲特定客戶的插座。當然,socket.io客戶端通常會在丟失連接時嘗試重新連接,所以最好從服務器創建自己的消息,告訴客戶端斷開連接。如果客戶端故意斷開,那麼它將不會自動重新連接。


在客戶端,客戶端可以調用這些:

socket.disconnect(); 
socket.close(); 

有沒有辦法關閉從服務器端插座IO實現空閒客戶端連接?

您將不得不爲空閒連接創建您自己的定義,並跟蹤套接字何時滿足該條件。當你確定它閒置時,你可以使用上述方法之一來關閉連接。

在某個n時間,socket.io是否清除/關閉來自客戶端的空閒連接?

+0

號有沒有一種方法我可以登錄我的時候客戶端斷開? –

+0

@DrewAdorador - 每個套接字都有一個'disconnect'事件。當客戶端連接時,您只需爲該事件註冊一個句柄。 – jfriend00

+0

非常感謝!!!!對不起,這仍然是一個小菜:) –