node.js - 使用Angular的单页应用引擎时依赖socket.io/express.io中的 'disconnect'事件

标签 node.js sockets angularjs express socket.io

每当我离开被我的单页应用程序引擎拦截的页面时,如何添加“断开连接”事件?

我设置了某些事件(有点像 YouTube 上的流媒体事件),每个事件都需要自己的套接字连接。我现在在 Angular 上设置了一个单页引擎,允许在这些事件之间切换。

我过去常常依靠“断开连接”事件让我知道有人离开了事件,但它们不再工作了——如果我通过单页导航离开,套接字永远不会关闭。

有什么方法可以配置套接字仍然断开连接吗?

我不太理想的方法是在我可以从事件页面导航到的每个页面的 Controller 上创建一个新的套接字连接实例,并禁止多个连接。

如果有人有更好的主意,我很乐意听听。

非常感谢。

最佳答案

您可以手动调用它,因为您可以控制页面导航 - 每当客户端离开一个页面时,调用

socket.disconnect();
socket.close();

这将确保当客户端离开一个页面时套接字在此之前断开连接。

关于node.js - 使用Angular的单页应用引擎时依赖socket.io/express.io中的 'disconnect'事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19869208/

相关文章:

Javascript - 将先前的查询结果传递到下一个 .then()

angularjs - Angular 将 $http 注入(inject)配置或提供程序以运行

javascript - 如何使用当前设置实现 tic tac toe 获胜条件?

javascript - 属性未显示在 json 中,重构 json 对象

javascript - 让 NodeJS/JSDom 在抓取之前等待完全渲染

angularjs - 具有动态值和条件的 ng-class

angularjs - 如何将 ng-if 与 tr 标签以及 ng-repeat 一起使用?

Windows 与 Linux 中的套接字

java - 检查套接字是否仍然打开

c# - 处理阻塞 .NET 套接字的超时