2016-08-02 49 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可能是件好事。