Signalr Asp.net mvc上的断开连接事件

本文关键字:断开 连接 事件 Asp net mvc Signalr | 更新日期: 2023-09-27 18:28:44

我在客户端中使用SignalR而没有代理

我想在浏览器关闭时处理signalR中的断开连接事件,然后在我的应用程序中初始化另一个集线器

有关详细信息,请参阅此代码

var firstHub = jqu.hubConnection();
firstHub.url = "http://localhost:9351/signalr";
var socket = firstHub.createHubProxy('testHub');
var webSocketClass = {
   id=''
};
socket.on("sendAll", function (name, message) {
    console.log(name + " " + message);
});
firstHub.start({ jsonp: true }).done(function () {
    socket.invoke("send", webSocketClass);

这是第一个集线器,第二个看起来像这样:

var secondHub = jqu.hubConnection();
secondHub.url = "http://localhost:9351/signalr";
var secondSocket = secondHub.createHubProxy("onlineUserHub");
secondSocket.on("send", function (user) {
    console.log(user);
});
 secondHub.start({ jsonp: true }).done(function () {
        secondSocket.invoke("onLineUserChanged", webSocketClass);
    });

在第一个集线器断开连接后,我想向第二个集线器发送一个值。

以下代码不起作用:

 socket.on("onDisconnect", function () {
    alert("Hello");
});

Signalr Asp.net mvc上的断开连接事件

在信号器2.2中,为了检查连接是否关闭,您可以尝试此

var connection = $.hubConnection();
var hub = connection.createHubProxy('TestHub');
//the most important part
connection.disconnected(function() {
    alert('Disconnected!');
});
connection.start();

此事件可能会立即或在多次尝试重新连接后触发