通过websocket推送图像会是个好主意吗?

时间:2013-08-16 07:38:13

标签: html5 image websocket

我需要开发一个实时应用程序......只是想知道通过websockets推送图像是个好主意吗?我能想到的唯一优势是它会减少HTTP请求的数量,但是如果我必须对其进行编码然后发送它意味着更多的数据传输,那么它就会处于劣势。

有人可以列出优缺点吗?

1 个答案:

答案 0 :(得分:0)

优点:

  • 您可以在(可能始终运行)服务器软件中动态生成图像。请注意,这不是一个真正的优势,因为始终运行的服务器软件也可以直接提供http数据并在运行中生成它。

缺点:

  • 不会缓存任何数据。当客户端必须两次显示/加载相同的图像时,这是最无效的。
  • 你必须打扰编码。
  • 您必须以某种方式将转移的数据转换为img,这只能通过data: - 方案或canvas(至少这些是我能想象到的唯一方式),这不是很灵活(不受所有浏览器支持,长度限制)
  • 无法使用浏览器优化加载顺序的功能。
  • 移动客户端无法决定加载数据的天气。

进一步注意,没有优势在于必须设置较少的http连接,因为http允许保持连接活动(有关详细信息,请参阅http://www.w3.org/Protocols/HTTP/1.1/draft-ietf-http-v11-spec-01.html)。这样浏览器可以使用keep-alive,如果它支持它,并且如果不支持则不使用它。