找回密码
 会员注册
查看: 141|回复: 0

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

[复制链接]

1389

主题

5

回帖

496万

积分

管理员

积分
4962992
发表于 2024-2-29 08:20:42 | 显示全部楼层 |阅读模式

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

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

 

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

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

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

  1. 创建一个函数(在本例中为start函数)以启动连接。
  2. start在连接的onclose事件处理程序中调用该函数。
  1. async function start() {
  2. try {
  3. await connection.start();
  4. console.log("connected");
  5. } catch (err) {
  6. console.log(err);
  7. setTimeout(() => start(), 5000);
  8. }
  9. };
  10. connection.onclose(async () => {
  11. await start();
  12. });
复制代码

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

  1. //处理链接关闭情况,onclose监听服务器断开和客户端主动断开 ,try catch 监听服务器无法访问等
  2. //在实际应用中,重新连接超过指定次数后放弃
  3. async function start() {
  4. try {
  5. await connection.start();
  6. console.log("connected");
  7. } catch (err) {
  8. console.log(err);
  9. setTimeout(() => start(), 5000);
  10. }
  11. };
  12. start();
  13. connection.onclose(async () => {
  14. console.info('监听到链接关闭');
  15. await start();
  16. });
复制代码

 

 

更多客户端使用说明:

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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-27 00:21 , Processed in 1.468047 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表