websocket永远不会关闭,传输多个数据

时间:2015-08-21 00:21:21

标签: html5 websocket

我已经建立了一个网络应用程序。我使用Websockets发送和接收大量数据,每次我必须打开和关闭Websocket连接。

为什么不避免不断开/关?如何加载页面,创建和打开Websockets并且它们永远不会关闭,所以我使用相同的Websockets发送和接收文本,数组,链接,搜索查询等。我甚至考虑传输图像和/或视频等文件通过Websockets。

我可以这样做,还是在完成后我必须关闭WS连接?永远不会关闭WS会引发安全问题吗?另外,我不知道当用户离开页面时WS是否会实际关闭。如果没有,我猜这是另一个安全问题,就在那里。

如何通过WS传输文件?我无法想象如何做到这一点

提前致谢

1 个答案:

答案 0 :(得分:0)

Websockets意味着在网页或SPA的生命周期内保持开放......这完全是预期的正常行为。

服务器可能随时关闭websocket,这也是正常行为 - 只需重新打开websocket。

通常,如果websocket闲置一段时间(即Heroku将超时限制设置为50秒)或者出于流量和并发考虑,服务器将仅关闭websocket。否则,websocket连接可能一直保持打开状态。

例如,Plezi framework(Ruby)每隔一段时间自动发送一个乒乓框架,因此除非浏览器关闭套接字(通常是退出页面),否则连接将无限期地保持打开状态。