Asp.Net Core SignalR JavaScript客户端重新连接

一、Asp.Net Core SingalR JavaScript客户端当前版本 1.1.4

注:Asp.Net SignalR 的客户端和 Asp.Net Core 的版本不同,目前不能通用。

 

二、当前版本的客户端,没有自动重新连接功能,需要自己处理重新连接。

在3.0之前,SignalR的JavaScript客户端不会自动重新连接。您必须编写将手动重新连接客户端的代码。

以下代码演示了典型的手动重新连接方法:

  1. 创建一个函数(在本例中为start函数)以启动连接。
  2. start在连接的onclose事件处理程序中调用该函数。
async function start() {
    try {
        await connection.start();
        console.log("connected");
    } catch (err) {
        console.log(err);
        setTimeout(() => start(), 5000);
    }
};

connection.onclose(async () => {
    await start();
});

在放弃之前,真实世界的实现将使用指数退避或重试指定的次数。

        //处理链接关闭情况,onclose监听服务器断开和客户端主动断开  ,try catch 监听服务器无法访问等
        //在实际应用中,重新连接超过指定次数后放弃
        async function start() {
            try {
                await connection.start();
                console.log("connected");
            } catch (err) {
                console.log(err);
                setTimeout(() => start(), 5000);
            }
        };
        start();
        connection.onclose(async () => {
            console.info('监听到链接关闭');
            await start();
        });

 

 

更多客户端使用说明:

https://docs.microsoft.com/en-us/aspnet/core/signalr/javascript-client?view=aspnetcore-2.2

 

更多:

Asp.Net Core SignalR获取集线器实例,从集线器外部发送消息

Asp.Net Core 2.0使用SignalR技术-入门

小程序WebSocket 简单实例一

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章