如何保持从 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 中。这将允许您保持当前套接字处于活动状态。
我是 socket.io 的新手,但我真的很喜欢投入其中。我正在使用 MEAN 堆栈并开始使用 socket.io。我发现套接字连接已连接到 window,因此当刷新完成时,连接已断开。
话虽如此,我正在尝试实现一个简单的聊天功能,类似于他们在 socket.io 入门选项卡上显示的功能,相当简单。但是,在我单击此聊天按钮之前,我的连接已经创建。我希望聊天 window 在新的 window 中打开,并为以前连接的个人提供聊天。这可能吗?我该如何实现这样的功能?
我真的是从规划的角度问的,所以不在这里发布我的代码。我的代码与 Hello World socket.io 聊天应用程序的代码非常相似,但我只想保持从一个 window 到下一个
的连接。当您将新页面加载到 window 时,您无法保持套接字连接打开。该连接属于特定页面,当该页面不再活动时,它关闭套接字并由浏览器清除(连同所有其他 HTML/JS 资源)。您的新页面应该再次打开套接字,您可以使用某种 cookie 将新连接识别为同一用户。
另一种策略是不加载新的 window 并使用 Ajax 将新内容加载到当前 window 中。这将允许您保持当前套接字处于活动状态。