如何保持从 1 window 到另一个的套接字连接?

How can I keep a socket connection alive going from 1 window to another?

我是 socket.io 的新手,但我真的很喜欢投入其中。我正在使用 MEAN 堆栈并开始使用 socket.io。我发现套接字连接已连接到 window,因此当刷新完成时,连接已断开。

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

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

的连接。

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

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