Websockets被設計用於瀏覽器中的快速雙向通信。假設你可以控制服務器和本地客戶端(比如iOS或Mac應用程序),是否有任何好的理由或情況通過websocket進行通信而不是使用HTTP庫?在瀏覽器之外使用Websockets是否有很好的理由?
8
A
回答
16
我要回答幾個不同的問題有希望結束了回答你的問題:
是否有一個原因使用WebSockets從客戶端,而不是HTTP? 是的。
與HTTP相比,WebSockets是雙向,全雙工,低延遲和低開銷。
與HTTP/AJAX/COMET相比,延遲和開銷較低的一部分是您不必爲每個請求重新建立連接。
是否有從客戶端而不是原始套接字使用WebSockets的原因? 是的。
最初的WebSockets握手HTTP服務器友好(並具有一定的起源和哈希交換的安全機制)。它允許Web服務器輕鬆更新以支持重定向或代理WebSockets連接到真正的WebSockets服務器應用程序。
WebSockets的另一個好處是它是一個框架協議,允許應用程序專注於有用的功能,而不必處理自己的幀和緩衝。
它很容易通過類似wsproxy的東西將WebSockets支持添加到現有的TCP套接字服務器或代理。免責聲明:我做了wsproxy。
從服務器的角度來看WebSockets是一個贏,因爲他們可以通過獨立的客戶端或瀏覽器訪問。這意味着將會有越來越多的服務是當前基於TCP套接字的服務,這些服務將通過WebSockets公開。因此,現在向客戶端添加WebSockets支持將在未來得到回報。
相關問題
- 1. 在MVC環境中使用ORM是否有很好的理由?
- 2. Wii瀏覽器是否支持WebSockets?
- 3. websockets是否允許p2p(瀏覽器到瀏覽器)通信?
- 4. 是否有可能在瀏覽器中使用websockets等待服務器?
- 5. 即使在支持websockets的瀏覽器上,SockJS是否也會模擬websockets?
- 6. 在瀏覽器之外處理Webpack
- 7. 在java中使用「printf」而不是「print」是否有很好的理由?
- 8. Setter.Value不是一個ContentProperty是否有很好的理由?
- 9. 即使在瀏覽器之外,是否有可能使Flash 100%GPU加速?
- 10. SIFR是否能很好地跨瀏覽器工作?
- 11. 使用WebSockets控制瀏覽器窗口
- 12. 拖動與Chrome瀏覽器很好,但不是在IE瀏覽器?
- 13. 瀏覽器之外的Javascript
- 14. 讓AssemblyVersion和AssemblyFileVersion匹配是否有很好的理由?
- 15. Websockets是否僅適用於Safari瀏覽器?
- 16. 當瀏覽器在後臺時SSE和Websockets是否工作?
- 17. 如何確定popup div是否在瀏覽器之外
- 18. 是否有PHP瀏覽器?
- 19. 在除Firefox以外的所有瀏覽器中都能很好地工作
- 20. 瀏覽器如何使用WebSockets處理DNS查找和TLS?
- 21. Eclipse Web瀏覽器是否使用默認的OS瀏覽器?
- 22. 使用formbuilder是否很好?
- 23. 在瀏覽器之外的燈箱
- 24. 檢測是否沒有來自瀏覽器的系統活動(包括瀏覽器之外的活動)
- 25. 除了速度之外,是否有使用==而不是速度的理由?
- 26. 如何使外部XML文件在瀏覽器中很好地顯示?
- 27. 是否可以將IFrame浮動到瀏覽器之外?
- 28. 是否有TinyMCE JQuery Package更好的瀏覽器兼容性?
- 29. 提醒用戶,當他們點擊瀏覽器後退按鈕 - 有很好的理由
- 30. 檢查瀏覽器是否理解JavaScript