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 简单实例一

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值