android signalr 自动重连,.net-何时在signalR中重新连接?

当客户端脱机然后不久后重新获得连接时,就会发生集线器重新连接。 SignalR配置值在很大程度上决定了以下示例的时间戳,因此无需逐字记录时间。

以下是一些示例及其涉及重新连接行为的结果(时间格式:m:ss):

当我提到以下内容时,我指的是服务器端Hub方法

联机

断开连接

OnReconnected

1)

0:00-客户端连接到服务器,触发OnConnected

0:10-客户端由于ISP问题而失去连接(并意识到它失去了连接)

0:15-客户端重新获得连接

0:16-触发OnReconnected事件

2)

0:00-客户端连接到服务器,触发OnConnected

0:10-客户端由于拉以太网电缆而失去连接(未意识到已断开连接)

0:15-客户端重新获得连接

这里可能发生两件事

A:0:16-什么也没发生,客户端继续之前的连接

B:0:〜45-客户端意识到其断开连接*

B:0:46-客户端转换为重新连接状态

B:0:47-客户端成功重新连接,并且触发了OnReconnected事件。

3)

0:00-客户端连接到服务器,触发OnConnected

0:10-客户端由于拉以太网电缆而失去连接(未意识到已断开连接)

0:〜45-客户端意识到其断开连接*

0:46-客户端转换为重新连接状态

1:15-服务器确定客户端已离开太久,然后忘记了这一点,排队一个“断开连接”命令,以便客户端稍晚重新连接时可以接收。 ***

1:15-触发了OnDisconnected

1:16-客户端重新获得连接

1:17-客户端进行“软”重新连接(不会触发OnReconnected)

1:18-客户端检索“断开连接”命令

1:19-客户端呼叫“停止”并进行软断开连接(不会触发OnDisconnected)

4)

0:00-客户端连接到服务器,触发OnConnected

0:10-客户端由于拉以太网电缆而失去连接(未意识到已断开连接)

0:〜45-客户端意识到其断开连接*

0:46-客户端转换为重新连接状态

1:15-服务器确定客户端已离开太久,然后忘记了这一点,排队一个“断开连接”命令,以便客户端稍晚重新连接时可以接收。 ***

1:15-触发了OnDisconnected

1:30-客户端停止尝试重新连接(尝试时间过长)**

1:30-客户端转换为断开状态

*由于客户端保持活动状态检查:用于确定客户端由于缺少保持活动状态而脱机的时间。 不用于长轮询运输

**由于客户端断开连接超时:用于确定客户端重新连接的时间过长,以及服务器在这段时间内是否忘记了客户端

***由于服务器断开连接超时:用于确定何时应该忘记客户端。 一旦在服务器上将连接标记为无效后,这个时间跨度就会开始累积。 最终,服务器在客户端主题的断开连接队列中排队,该命令告诉客户端(如果重新连接)它需要开始新的连接。 清理主题后,该命令将从服务器中消失。

希望这可以帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值