2013-02-02 58 views
1

在斷開連接時清理就足夠了嗎?如果瀏覽器在發送明確的斷開連接之前消失會發生什麼?Socket.IO:服務器端清理的推薦模式是什麼?

推薦的服務器端清理模式是什麼,以便綁定到連接的資源不會泄露(例如命名空間)?

(使用GEVENT-socketio,如果它的事項)

回答

1

如果您使用WebSockets運輸,它會automaticaly斷開瀏覽器上關閉套接字。 如果您使用xhr-polling作爲例子,它不會自動斷開(關於gevent-socketio)。

我的做法當使用XHR輪詢是:

  1. 保存插座會話ID中有登錄的用戶ID數據庫
  2. 在下次用戶登錄檢測,如果有這樣的記載存在
  3. 使用在記錄中存儲的會話ID來放棄未使用的套接字,因爲新的用戶登錄會生成新的套接字

這不是快速解決方案,因爲您可能有未使用的套接字con nected直到新的登錄由用戶執行,但執行的一種清理,當用戶登錄

這篇文章可能是一個暗示的東西比我的解決方案更有創意:http://flask.pocoo.org/snippets/71/

相關問題