我使用SignalR 2.0.3库看到了一些奇怪/意外的行为。
我试图在客户端挂一些回电话,他们似乎没有被解雇。 我真的很想让JS - 客户端的重新连接,重新连接和断开连接的回调。 SignalR连接成功,我在服务器和客户端之间进行了通信。
以下是一些代码段:
$.connection.reconnecting = function () {
alert("reconnecting");
};
$.connection.reconnected = function () {
alert("We have been reconnected");
};
$.connection.disconnected = function () {
alert("We are disconnected!");
};
当我使用SignalR 1.x时,我可以发誓我有这些射击。 目前,我们使用的是2.0.3版本。
我正在运行2台机器设置,我的服务器应用程序(和集线器)位于1台计算机上。
以下是我用来复制的步骤:
1)从第二台机器连接。我查看了浏览器中的网络流量 控制台,它看起来不错。
2)接下来,我将客户端计算机与网络断开连接。在控制台中我看到SignalR 试图重新连接。 (这是预期的)
3)最终在N次重试后,看起来它已断开连接。 (我看到最后的重试是"取消" 在控制台输出中。
4)然而,我的disconnected()处理程序没有被调用。
有关如何追踪这一点的任何见解或想法?
谢谢, JohnB
答案 0 :(得分:4)
使用SignalR 2.x,您可以注册这样的回调:
$.connection.hub.reconnecting(function() {
alert("reconnecting");
});
$.connection.hub.reconnected(function() {
alert("We have been reconnected");
});
$.connection.hub.disconnected(function() {
alert("We are disconnected!");
});
您还可以使用$.connection.hub.stateChanged()
添加回调。请参阅documentation。