【问题标题】:How can I keep a socket connection alive going from 1 window to another?如何保持从一个窗口到另一个窗口的套接字连接处于活动状态?
【发布时间】:2016-02-01 04:11:52
【问题描述】:

我对 socket.io 还很陌生,但我真的很喜欢沉浸其中。我正在使用 MEAN 堆栈并开始使用 socket.io。我发现套接字连接是连接到窗口的,所以当刷新完成时,连接就死了。

话虽如此,我正在尝试实现一个简单的聊天功能,类似于他们在 socket.io 入门选项卡上显示的那个,相当简单。但是,在我单击此聊天按钮之前,我的连接已经创建。我希望聊天窗口在新窗口中打开,并为以前连接的个人提供聊天。这可能吗?我该如何实现这样的功能?

我是从规划的角度来询问的,所以不要在这里发布我的代码。我的代码与 Hello World socket.io 聊天应用的代码非常相似,但我只想保持从一个窗口到下一个窗口的连接。

【问题讨论】:

    标签: node.js sockets socket.io chat mean-stack


    【解决方案1】:

    当您将新页面加载到该窗口时,您无法保持套接字连接打开。该连接属于特定页面,当该页面不再处于活动状态时,它会关闭并由浏览器清理套接字(以及所有其他 HTML/JS 资源)。您的新页面应该只是再次打开套接字,您可以使用某种 cookie 将新连接识别为同一用户。

    另一种策略是不加载新窗口并使用 Ajax 将新内容加载到当前窗口中。这将允许您保持当前套接字处于活动状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 2018-04-13
      • 2022-01-05
      • 1970-01-01
      相关资源
      最近更新 更多