我在 Web 浏览器中使用 autobahn-js (0.11.2),在后端使用交叉开关消息路由器 (v17.2.1)。
如果网络断开(例如由于网络不佳),可以将 autobahn-js 客户端配置为尝试定期重新连接。
现在,在我的由高速公路驱动的网络应用程序中,session.subscribe('my.topic', myhandleevent)
动态创建了对不同 WAMP 主题的订阅。
是否有关于如何在重新连接时重新注册所有活动订阅的最佳实践?这甚至可以配置吗?
我在 Web 浏览器中使用 autobahn-js (0.11.2),在后端使用交叉开关消息路由器 (v17.2.1)。
如果网络断开(例如由于网络不佳),可以将 autobahn-js 客户端配置为尝试定期重新连接。
现在,在我的由高速公路驱动的网络应用程序中,session.subscribe('my.topic', myhandleevent)
动态创建了对不同 WAMP 主题的订阅。
是否有关于如何在重新连接时重新注册所有活动订阅的最佳实践?这甚至可以配置吗?
我认为重新订阅不是开箱即用的配置。但是onopen在重新连接后被触发,因此在其中放置订阅初始化,将执行以下操作:
var ses;
var onOpenFunctions = [];
function addOnOpenFunction(name) {
onOpenFunctions.push(name);
if (ses !== null) {
window[name]();
}
}
connection.onopen = function (session, details) {
ses = session;
for (var i = 0; i < onOpenFunctions.length; i++) {
window[onOpenFunctions[i]]();
}
};
然后,如果你想动态订阅,你必须这样做:
function subscribeTopic() {
session.subscribe('my.topic', myhandleevent)
}
addOnOpenFunction('subscribeTopic');