相关疑难解决方法(0)

共享Web工作人员是否在单页重新加载,链接导航中持续存在

共享Web Workers旨在允许来自同一站点(源)的多个页面共享单个Web Worker.

但是,如果您只有一个窗口/选项卡并且您导航到同一站点上的另一个页面,那么我不清楚规范(或其他有关共享工作者的教程和信息)共享工作者是否会持久存在.

这对于来自共享工作者的WebSocket连接的情况最有用,该连接在网站导航时保持连接.例如,想象一下即使在网站导航时也会持续存在的股票代码或聊天区域(无需重新连接WebSocket).

javascript html5 multithreading web-worker websocket

22
推荐指数
3
解决办法
1万
查看次数

当客户端刷新或打开新页面时,Socket.io在客户端保持连接

如果用户打开新页面或刷新页面,有一些方法可以在客户端保持相同的socket.io连接,可能会将套接字存储在会话中,或者这是不可能的?

websocket node.js socket.io

6
推荐指数
1
解决办法
3223
查看次数

即使页面刷新后,如何保持Websocket连接的持久性?

我有一个Web应用程序,需要从服务器到其客户端(浏览器)的持久连接,以便实时(近)向客户端推送新闻/更新。如果通过网站的某些元素导航不会导致完整的页面刷新,则不会那么棘手。

轮询(标准方式或长时间轮询)服务器以获取新闻不是一种选择,因为这会导致不必要的请求调用(因为没有新闻可用)。而且新闻可能会随机上升。因此,使用轮询策略,服务器将崩溃...对于websocket(双向通信通道),客户端和服务器必须接受对websocket的升级。这里讨论了类似的问题,但是没有找到令人满意的解决方案。

通过将数据存储在Cookie或其他方式中,数据可以在整页刷新后幸存下来:

  • 饼干
  • window.name(www.thomasfrank.se/sessionvars.html)
  • localstorage:存储没有到期日期的数据。关闭浏览器后,不会删除数据。示例:恒心(github.com/viseztrance/perseverance)
  • PersistJS:不使用cookie的跨浏览器客户端持久存储,通过序列化/反序列化对象来完成Javascript对象的存储。

是否有类似“套接字”之类的“运行”对象的工作原理?

我想到的一些可能性是:

  • 一种旧式的“解决方案”是将整个Web应用程序放在iFrame中,并将连接添加到(框架的)最外层的窗口。这不是一个选择,因为它会导致很多其他问题。
  • 由于退出了HTML5 Share Web Workers,但由于浏览器支持有限,因此也无法使用。

所以我的问题是:如果刷新页面,是否有可能/破解如何保持我的websocket连接打开?这样就不必重新初始化与服务器的连接了吗?

javascript cookies html5

5
推荐指数
1
解决办法
5848
查看次数