websocket,http或两者兼而有之?

时间:2014-10-15 04:52:14

标签: sockets http web

编写单页Web应用程序,并且知道某些屏幕需要实时更新,我面临一个大的一般性问题,无论是API和前端框架以及我将要使用的语言:

我将通过websocket实现数据传输,我应该保留http进行任何不需要实时更新的数据传输,还是应该只使用websocket? < / p>

知道所有浏览器都没有处理websockets,但大多数(如果不是所有最新的浏览器都支持它),服务器是否更好地处理websocket和http,或者我应该只使用websockets进行所有数据传输?

2 个答案:

答案 0 :(得分:2)

您最终可能最终会同时使用WebSockets和HTTP请求。

WebSockets,因为它听起来像你需要它们(因为实时更新)并且能够为它们提供浏览器支持(否则,你将被迫使用较旧的基于Ajax / Comet的方法)。 / p>

HTTP有两个可能的原因:

  • 您迟早需要阻止请求 - 响应行为。例如,在进一步处理之前,对用户进行身份验证可能需要阻止结果,因此您需要发送身份验证请求并阻止,直到获得结果为止。处理WebSockets可能有点烦人。
  • 您可能需要加载大量数据而不会中断正在进行的实时更新。如果您要通过WebSockets加载此类数据(作为一个大块),它将与实时更新一起排队,并可能会延迟它们。

这两个问题都可以通过WebSockets处理,但使用简单的HTTP Ajax请求更容易解决。

答案 1 :(得分:0)

使用websockets满足以下需求,

  1. 服务器数据经常更改
  2. 多用户通信
  3. 实时供稿等,
  4. 请参阅this以更好地了解websocket的使用情况。