使用 Angular 的单页应用程序引擎时依赖 socket.io/express.io 中的“断开连接”事件

Posted

技术标签:

【中文标题】使用 Angular 的单页应用程序引擎时依赖 socket.io/express.io 中的“断开连接”事件【英文标题】:Relying on 'disconnect' event in socket.io/express.io when using Angular's single-page app engine 【发布时间】:2013-11-21 01:29:29 【问题描述】:

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

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

我曾经依靠“断开连接”事件来让我知道有人何时离开该事件,但他们不再工作 - 如果我通过单页导航离开,套接字永远不会关闭。

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

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

如果有人有更好的想法,我很想听听。

非常感谢。

【问题讨论】:

【参考方案1】:

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

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

这将确保当客户端导航离开一页时,套接字会在此之前断开连接。

【讨论】:

以上是关于使用 Angular 的单页应用程序引擎时依赖 socket.io/express.io 中的“断开连接”事件的主要内容,如果未能解决你的问题,请参考以下文章

使用的vueelementUIvuexexpressmongoDB的单页应用

App Engine + Polymer.dart 带有 hashbang 的单页 Web 应用路由

如何在 Wildfly 上使用 Angular 7 单页应用程序避免 404 错误

如何禁用通过 IIS 提供的单页应用程序 HTML 文件的缓存?

最新文章推荐:使用 Vue.js 和 Bluemix 创建模块化的单页应用程序

Angular js 单页应用环境搭建