一、Asp.Net Core SingalR JavaScript客户端当前版本 1.1.4
注:Asp.Net SignalR 的客户端和 Asp.Net Core 的版本不同,目前不能通用。
二、当前版本的客户端,没有自动重新连接功能,需要自己处理重新连接。
在3.0之前,SignalR的JavaScript客户端不会自动重新连接。您必须编写将手动重新连接客户端的代码。
以下代码演示了典型的手动重新连接方法:
- 创建一个函数(在本例中为
start
函数)以启动连接。 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技术-入门