我想使用来自Javascript客户端(主要是智能手机)的vertx事件总线。我的问题是当我将手机发送到待机状态时,事件总线会在几秒钟后断开连接,并且在唤醒后不会重新连接。我尝试重新连接eventbus onclose(),但它并不总是有效。有什么想法吗?
答案 0 :(得分:1)
为什么不尝试在循环中重新连接,而不是仅尝试重新连接一次:
eventBus.onclose = function {
while(state != vertx.EventBus.OPEN) {
setInterval(function(){
// Recreate an eventbus object and re-register all callbacks included this one
initialiseEventbus()
},3000);
}
}
以上并不是最优雅的解决方案,但遗憾的是没有(重新)连接方法来调用vertxbus.js,也没有默认的自动重新连接策略。很遗憾,但我确信开发团队很乐意接受此票。
答案 1 :(得分:1)
此功能已添加到vert.x的工作版本中,但尚未正式生效。但是,您可以导入并使用vertx-eventbus.js
:
https://github.com/vert-x3/vertx-web/pull/660
使用例如初始化EventBus后var eb = new EventBus("/eventbus");
,您可以使用eb.enableReconnect(true);