從同一個客戶端有兩個不同的websocket連接到同一個服務器有什麼好處嗎?對我來說,這似乎是一個糟糕的設計選擇,但是有什麼理由/爲什麼它應該更好地工作?多個websocket連接
33
A
回答
56
有幾個原因,你可能想這樣做,但他們可能不太常見的(至少目前還沒有):
- 你加密和要發送未加密的數據/接收(例如,某些數據龐大但不敏感)。
- 您既有流媒體數據又有延遲敏感數據:想象一下偶爾會在遊戲內部流式傳輸視頻的互動遊戲。您不希望大媒體流延遲收到延遲敏感的正常遊戲消息。
- 你既有文本(例如JSON控制消息)和二進制數據(類型數組或blob),也不想打擾添加自己的協議層來區分,因爲WebSockets已經爲你做這件事。
- 您有多個WebSocket子協議(URI後的可選設置),您支持並且頁面要訪問多個WebSocket子協議(每個WebSocket連接僅限於一個子協議)。
- 您有幾個不同的WebSocket服務位於同一個Web服務器和端口後面。客戶端選擇每個連接的方式可能取決於URI路徑,URI方案(ws或wss),子協議,或者甚至是客戶端到服務器的第一條消息。
我確定還有其他的原因,但這些都是我能想到的。
+0
+1非常豐富! – Jonas 2012-02-13 23:26:51
0
我目前正在尋找有兩個連接到同一個websocket的解決方案。我的理由:
- 我寫了QUnit測試用例,我想模擬多個客戶端,檢查不同客戶的正確反應
0
我發現,它可以使更簡單,當你的客戶端邏輯只是訂閱服務器管理的某些對象的更新。您可以爲每個元素打開一個套接字,而不是爲單個通道設計自定義訂閱協議。
比方說,你在
獲得通過REST API元素的集合http://myserver/api/some-elements
你可以使用一個插座的URL像這樣訂閱單個元素的更新:
ws://myserver/api/some-elements/42/updates
當然之一可以爭辯說,這並不適合複雜的網頁。但是,對於小而簡單的應用,它可能會讓您的生活變得更加輕鬆。
相關問題
- 1. WebSocket連接
- 2. WebSocket連接AWS
- 3. WebSocket連接。 Android
- 4. 用於多種用途的Websocket連接
- 5. Websocket連接設置
- 6. Heroku的WebSocket連接
- 7. 重新連接到同一個Websocket
- 8. System.Net.Sockets.SocketException當創建一個websocket連接
- 9. 客戶端可以創建多少個WebSocket連接
- 10. 如何檢查websocket連接?
- 11. node-http-proxy socket.io websocket連接
- 12. React-native websocket TLS連接
- 13. WebSocket API連接問題
- 14. Websocket(spring)ssl連接(空鏈)
- 15. 驗證WebSocket連接源
- 16. 關閉websocket連接錯誤
- 17. Websocket連接自動關閉?
- 18. 無法連接到websocket
- 19. Android websocket連接失敗
- 20. 計算WebSocket連接的Ping?
- 21. WebSocket連接錯誤56.0.2924.87
- 22. 與郵差的Websocket連接
- 23. 跨域WebSocket連接[Spring Boot]
- 24. websocket連接不關閉
- 25. 打開websocket連接firefox addon
- 26. 建立與WebSocket的連接
- 27. Pytest:測試WebSocket連接
- 28. websocket連接不起作用
- 29. websocket連接無效 - Socket.IO
- 30. 連接到遠程websocket angularjs
REQUEST_URI是否也相同? – 2012-02-12 11:23:18
@Shiplu嗯。一個人不應該通過uri傳達信息,因爲它只做一次。在這種情況下,讓我們說**是**。 – Christian 2012-02-12 18:55:35
封閉選民請解釋爲什麼? **爲什麼我的問題沒有建設性?** – Christian 2012-02-12 18:55:52