2016-08-02 52 views
0

我將爲移動應用程序部署一個nodejs服務器,在移動應用程序中使用websocket與服務器進行通信。Websocket或Http開發移動應用程序?

我想知道我是否可以停止使用http,但只使用websocket? 該解決方案的優點和缺點是什麼?

回答

1

我想知道如果我可以停止使用http,但只使用websocket?

不,不是100%。因爲您至少需要通過HTTP執行websocket握手。如果您進行網絡開發(即瀏覽器開發),那麼您還需要爲主頁面提供HTML/JavaScript文件。除此之外,完全可以完全切換到websocket。

該解決方案的優缺點是什麼?

優勢

  • 真實服務器推送(你可以很容易地通知客戶端)
  • ,頂部適當的協議(例如JSON RPC)相比,HTTP是非常有效的

缺點

  • 這幾乎是TCP,所以你仍然需要在上面建立一個自定義協議。這實際上可能很難正確實施。特別是如果你想混合文本內容(如json)與二進制內容(例如圖像)。可能會發現你將通過websockets重新實現HTTP。
  • 可能難以很好地擴展(再次,取決於頂部協議)
  • 知之甚少相比,HTTP
  • 還是蠻新的,不作爲HTTP儘可能多的工具

所以你可以看到大多數人的擔憂來自事實:它是新的,你將不得不做大量的手動工作。這是說我的個人意見是要去做的。如果你不這樣做,那麼誰會呢? :)至少有API over Websockets並通過HTTP提供靜態文件。

0

如果您打算讓您的移動應用程序成爲一個完整的網站,可能有重要原因使用HTTP + WebSocket而不是WebSocket。另外,HTTP比WebSocket還要長,所以我會繼續並假設對HTTP的支持比WebSocket支持更廣泛,所以如果您爲應用程序製作了API,那麼使用HTTP可能是件好事。