如何在node.js中全局使用socket.io



当前我正在使用API获取聊天列表,因此用户无法知道他们是否收到了新的消息。他们必须刷新页面才能知道有新消息。

当用户在聊天时,我正在连接套接字,当他们离开聊天并转到其他页面时,我会断开与套接字的连接。但如果他们转到其他页面,我希望他们保持联系。

你能告诉我怎样才能做到这一点吗?是否有适用于应用程序的通用插座?

socket.io和webSocket连接无法从一页保存到下一页。当您离开一个页面并转到另一个页面时,第一个页面中的所有资源(包括任何webSocket或socket.io连接(都将关闭。浏览器就是这样工作的。

你可以制作一个单页应用程序(SPA(,用户可以在其中点击内容并更改视图,但它只是将动态内容加载到同一页面中,这样实际的网页就不会在浏览器中关闭,因此socket.io连接可以持久存在。

或者,你可以用cookie标记用户,这样当他们离开页面时,他们的连接就会关闭,然后他们加载另一个页面,并建立新的连接,你的服务器可以看到他们是刚刚连接的同一用户,你的服务器可以适当地设置,让他们继续,就像从未重新连接一样。

是否有适用于应用程序的通用套接字?

不,没有。

当用户在聊天时,我正在连接套接字,当他们离开聊天并转到其他页面时,我会断开与套接字的连接。

是的,当网页关闭时,所有浏览器都会断开连接。

最新更新