Socket.io允許您使用心跳「檢查Socket.IO連接的健康狀況」。什麼是心跳,爲什麼要或不應該使用它們?使用socketio心跳的優點/缺點
36
A
回答
52
心跳信號是指定期從客戶端發送到服務器(或從服務器到客戶端並返回服務器)的小消息,以確認客戶端仍處於活動狀態。例如,如果您有一個Node.js應用程序爲聊天室提供服務,並且用戶在很長時間內不會說任何內容,則無法確定它們是否真的仍然連接。通過以預定間隔(例如,每15秒)發送一次聽力信號,客戶端通知服務器它仍然在那裏。如果它是例如自服務器從客戶端獲取心跳後20秒,它可能已斷開連接。
這是必要的因爲你cannot be guaranteed a clean connection termination over TCP - 如果客戶端崩潰或發生其他事情,您將不會收到來自客戶端的終止數據包,並且服務器不知道客戶端已斷開連接。此外,Socket.IO支持各種其他機制(TCP套接字除外)傳輸數據,在這種情況下,客戶端不會(或不能)向服務器發送終止消息。
默認情況下,Socket.IO客戶端將心跳發送到服務器每隔15秒(心跳間隔),如果服務器沒有從客戶聽到20秒(心跳超時)它會認爲客戶端斷開連接。
我想不出許多平均使用情況,你可能不想使用心跳。
相關問題
- 1. 使用≠like!=優點/缺點
- 2. 使用Arrays.asList的優缺點
- 3. 使用MessageFormat的優缺點
- 4. 使用SetProcessWorkingSetSize的優缺點
- 5. 使用log4j的優缺點
- 6. 使用java rmi的優點和缺點
- 7. 使用ReactJS的優點和缺點
- 8. 使用指針的優點/缺點
- 9. 使用startManagingCursor()的優點和缺點
- 10. StyleCop,優點/缺點
- 11. 使用WebServiceHostFactory優缺點
- 12. 使用SQLDataReader有哪些優點/缺點?
- 13. 使用Maven有什麼優點/缺點?
- 14. Three20的優點和缺點
- 15. smartGWT的缺點和優點
- 16. N2CMS的優點和缺點
- 17. SOAP Pooling的優點/缺點
- 18. Axis2優於WCF的優點和缺點
- 19. CouchDB的優缺點
- 20. XCODE4的優缺點?
- 21. CodeSmith的優缺點
- 22. Phonegap的優缺點
- 23. BPMN的優缺點?
- 24. READ_COMMITTED_SNAPSHOT的優缺點
- 25. MongoDB的優缺點?
- 26. 使用UdpClient優於Socket的優點和缺點
- 27. 要求用戶使用Facebook登錄站點的優點/缺點
- 28. SSIS包:優點 - 缺點
- 29. 優點/缺點MemoryStream.Position或MemoryStream.Seek
- 30. 優點和缺點mapquest android
令人驚歎的問題。 –