使用socket node.js检测用户切换页面

当用户转到网站内的其他页面时,我试图从Redis频道取消订阅。 我已经尝试检测到一个断开套接字事件,当用户点击一个链接,但事件从未触发。

// Do things req.socket.on("disconnect", function(){ console.log("Disconnected"); conexion.punsubscribe(); }); 

你知道什么套接字事件,我可以用来赶上这个行动?

谢谢。

在socket.io中用户断开并不是那么简单,正如这里所解释的:

告诉服务器,用户不再在互联网上

虽然在你的情况下,你也许可以有不立即redirect用户的链接。 相反,他们可以运行一些JS onClick,手动断开套接字,然后将用户redirect到请求的地址。 但是这需要更改页面上的每个链接来运行JavaScript,因此可能需要大量的工作。