如何从1个窗口到另一个窗口保持套接字连接?

时间:2015-11-01 00:09:45

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

我对socket.io相当新,但我真的很高兴陷入其中。我正在使用MEAN堆栈并开始使用socket.io。我发现套接字连接已连接到窗口,因此刷新完成后,连接已停止。

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

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

1 个答案:

答案 0 :(得分:1)

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

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