Websocket或Http开发移动应用程序?

时间:2016-08-02 15:22:51

标签: sockets http websocket server

我将为移动应用程序部署nodejs服务器,在移动应用程序中我使用websocket与服务器进行通信。

我想知道我是否可以停止使用http而只是使用websocket? 这个解决方案有哪些优点和缺点?

2 个答案:

答案 0 :(得分:2)

  

我想知道我是否可以停止使用http但只使用websocket?

不,不是100%。因为至少你需要通过HTTP执行websocket握手。如果您进行Web开发(即浏览器开发),那么您还需要在普通HTTP上至少提供主页面(使用嵌入式JavaScript)。除此之外,完全可以完全切换到websockets。

  

此解决方案有哪些优点和缺点?

<强>优点

  • 真实服务器推送(您可以轻松通知客户)
  • 与HTTP
  • 相比,在顶部使用适当的协议(例如json rpc)非常有效
  • 非常灵活

<强>缺点

  • 它几乎是TCP,因此您仍然需要在此基础上构建自定义协议。这实际上可能很难正确实现。特别是如果你想将文本内容(例如json)与二进制内容(例如图像)混合。可能会发现您将通过websockets重新实现HTTP。
  • 可能很难扩展(再次,取决于顶级协议)
  • 与HTTP
  • 相比,知之甚少
  • 还是很新的,没有像HTTP
  • 那样多的工具

因此,您可以看到大多数问题来自事实,它是新的,您将不得不做很多手动工作。据说我的个人意见是为了它。如果你不做,那么谁会呢? :)至少要有基于websockets的API并通过HTTP提供静态文件。

答案 1 :(得分:0)

如果您计划将移动应用程序变成一个成熟的网站,那么使用HTTP + WebSocket可能有很大的理由而不是仅使用WebSocket。此外,HTTP已经比WebSockets更长,所以我会继续并假设对HTTP的支持比WebSocket支持更广泛,所以如果你为你的应用程序创建了一个API,那么拥有HTTP可能是一个好的的事情。