一、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技术-入门
小程序WebSocket 简单实例一
来源:https://blog.csdn.net/u011127019/article/details/94597420 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |