我有一個Web應用程序,用戶需要經常連接。默認情況下,socket.io將在60秒後斷開連接。儘管我打開了「重新連接」,所以它基本上每分鐘關閉並重新打開連接。這可能會導致Feed /通知給我連接的客戶端。將此超時設置爲10分鐘還是更高可以安全嗎?現在有這麼低的原因嗎?在socket.io上設置高關閉超時安全嗎?
9
A
回答
3
我不相信你的套接字應該在60秒後斷開連接。我會調查爲什麼實際發生。在正確握手之後,套接字應該心跳並保持無限期開放(禁止網絡問題超出你的控制範圍),直到客戶端或服務器關閉連接,這絕對是我的經驗。
事實上,您的連接實際上是關閉它的聲音,可能無法正確握手,或者沒有收到心跳。
10
我的猜測是你可能會誤解'close timeout'
配置。它不會導致連接在60秒後關閉。 (如果客戶不斷重新連接,心跳將毫無意義)。
如果客戶端斷開連接,則close timeout
是釋放與該連接關聯的資源之前服務器將等待的時間量。從本質上講,這允許客戶端有間歇性的連接問題,試圖在服務器忘記它們之前重新連接。將close timeout
設置爲十分鐘可能是一個壞主意,因爲它會佔用服務器資源。
如果你的客戶實際上每隔60秒斷開一次,那麼就像samjm說的那樣,其他的事情是錯誤的。
0
您可能已經知道了這一點,但是您的套接字可能在60秒後斷開連接,因爲您沒有將心跳(「2 ::」)發送回服務器。
下面是一些與websocket client module一起使用的Python代碼。
# on_message handles messages from the server
def on_message(ws, message):
if message[:3] == '2::':
ws.send('2::')
相關問題
- 1. 在ObjectInputStream.readObject()上設置超時安全嗎?
- 2. Socket.io 1.0:配置關閉超時
- 3. 關閉ScheduledExecutorService安全嗎?
- 4. 在webClient.DownloadData上設置超時?
- 5. 在關閉Linux時關閉SIGTERM處理程序的超時配置位置
- 6. 設置關閉WiX服務的超時時間
- 7. 關閉時設置變量
- 8. 如何關閉Azure中的Internet Explorer增強安全設置
- 9. 關閉警報 - 全局設置
- 10. 我可以全局設置HTTP連接的超時時間嗎?
- 11. socket.io - 運輸關閉
- 12. Javamail在超時時沒有完全關閉套接字
- 13. 如何安全關閉IndexReader?
- 14. 在Django模型類上設置__new__安全嗎?
- 15. BufferedInputStream在設置postDelayed Runnable時關閉
- 16. 關閉黑莓的HttpConnection上超時
- 17. 多線程設置ServicePointManager.ServerCertificateValidationCallback安全嗎?
- 18. 動態設置空視圖:安全嗎?
- 19. IE安全設置設置爲高 - javascript不工作
- 20. jQuery Mobile的 - 設置全局超時
- 21. WebRequest設置超時響應不完全
- 22. 當ContextDialog關閉時,將焦點設置在特定按鈕上
- 23. 如何在HttpWebRequest.GetRequestStream上設置超時值?
- 24. 如何在winXP上設置socket.io?
- 25. 定製spring-security AuthenticationProvider可以設置OAuth2安全上下文嗎?
- 26. 設置CCNET安全
- 27. 超時設置
- 28. 設置超時?
- 29. Socket.IO客戶端安全
- 30. Websockets,socket.io,nodejs和安全