使用socket.io连接和断开连接的复杂性是什么?

时间:2015-09-12 10:18:41

标签: javascript node.js sockets socket.io

我正在运行application服务器。在我的网站上,我为不同的页面使用不同的URL。例如:

node.js

我正在使用mydomain.com/ -- Index mydomain.com/register -- Register mydomain.com/profile -- Profile 向客户端发送聊天消息和通知。但是,每当用户切换页面或执行POST请求时,套接字连接都会断开然后重新连接。

我想知道socket.io的连接/断开功能的复杂性是什么,并且每次他们在我的网站上执行操作时所有客户端都重新连接其套接字是否持久?我在没有找到答案的情况下查看了socket.io的文档。

1 个答案:

答案 0 :(得分:0)

这就是我找到的,但我猜它真的取决于你的代码。如果每个页面都连接到该频道,则将重新建立连接。我也习惯在服务器端存储消息以重新建立状态 - 这就是这个问题:

const events = []
const onSomeEvent = function(myEvent) {
      events.push(myEvent)
      socket.emit("onSomeEvent", myEvent)
}
socket.on("connect", function(){
    events.forEach(function(myEvent){
       socket.emit("onSomeEvent", myEvent)
    })
})