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. websockets是否允許p2p(瀏覽器到瀏覽器)通信?
- 3. 在瀏覽器之外處理Webpack
- 4. 在java中使用「printf」而不是「print」是否有很好的理由?
- 5. Setter.Value不是一個ContentProperty是否有很好的理由?
- 6. 即使在瀏覽器之外,是否有可能使Flash 100%GPU加速?
- 7. 瀏覽器之外的Javascript
- 8. 讓AssemblyVersion和AssemblyFileVersion匹配是否有很好的理由?
- 9. 如何確定popup div是否在瀏覽器之外
- 10. 是否有PHP瀏覽器?
- 11. Eclipse Web瀏覽器是否使用默認的OS瀏覽器?
- 12. 在瀏覽器之外的燈箱
- 13. 檢測是否沒有來自瀏覽器的系統活動(包括瀏覽器之外的活動)
- 14. 使用formbuilder是否很好?
- 15. 如何使外部XML文件在瀏覽器中很好地顯示?
- 16. 是否有TinyMCE JQuery Package更好的瀏覽器兼容性?
- 17. 提醒用戶,當他們點擊瀏覽器後退按鈕 - 有很好的理由
- 18. 檢查瀏覽器是否理解JavaScript
- 19. 正則表達式 - 除Safari瀏覽器之外的所有移動瀏覽器的用戶代理
- 20. 是否有理由在擦除刪除語言之外使用`remove`?
- 21. 除了Web瀏覽器之外,是否還有W3C DOM的實現?
- 22. 當JavaScript是由瀏覽器
- 23. 使用SQL視圖的一個很好的理由是什麼?
- 24. 是否有Linux的領域瀏覽器?
- 25. 是否有node.js的腳本瀏覽器?
- 26. 什麼樣的瀏覽器功能可以很好地辨別出能夠很好地處理j的移動瀏覽器,而不是那種?
- 27. 是否有任何理由在兩個MemoryStream之間使用CopyToAsync
- 28. 在瀏覽器外使用Angular2
- 29. 圍繞requireJS模塊定義包裝額外的即時調用函數是否有很好的理由?
- 30. Blackberry瀏覽器是否有現有的在線模擬器?