Signalr 信号器-如何检测客户端连接/重新连接故障(例如超时)

Signalr 信号器-如何检测客户端连接/重新连接故障(例如超时),signalr,Signalr,如何检测客户端何时无法连接(或重新连接)到信号集线器 是否有在js客户端上触发的事件?响应您的第二条评论: 目前在0.5.3中,Signal不处理服务器离开时的情况。但是,这将在下一版本1.0alpha中处理 在此期间,我建议每隔5秒ping一次服务器,看看请求是否失败。如果它失败了,比如说2次,那么服务器很有可能停机,您可以从那里处理逻辑 如果您想在下一版本中看到我们是如何做到这一点的,这里是指向github功能的链接:抱歉,看起来像是重复的。。。看起来我很快就自己的问题发表了评论-在上面的链

如何检测客户端何时无法连接(或重新连接)到信号集线器


是否有在js客户端上触发的事件?

响应您的第二条评论:

目前在0.5.3中,Signal不处理服务器离开时的情况。但是,这将在下一版本1.0alpha中处理

在此期间,我建议每隔5秒ping一次服务器,看看请求是否失败。如果它失败了,比如说2次,那么服务器很有可能停机,您可以从那里处理逻辑


如果您想在下一版本中看到我们是如何做到这一点的,这里是指向github功能的链接:

抱歉,看起来像是重复的。。。看起来我很快就自己的问题发表了评论-在上面的链接中实现了这个解决方案,当我在我预期的时间点停止我的signalr服务器时,它不会触发事件…关于最佳事件的任何想法?谢谢。在阅读了新的实现之后,D Fowler写了以下内容……在客户端,我们需要找出最好的事件是什么,以及是否将重新连接与keepAliveTimeout分开。作为一名开发人员,您是想为每个应用程序编写单独的逻辑,还是只关心您的网络连接“消失”了。开发者需要多少细节来决定他们的应用程序。如果我们将事件分开,那么我认为我们需要在连接上有一个更高级别的事件,这基本上意味着“网络关闭”。也许重新连接也能起到同样的作用。如果我们在负载均衡器后面有几个信号机盒,那么如果信号机响应告诉客户端它不知道他们是谁,这将非常方便,这样他们就可以再次触发正确的连接并订阅丢失的组;这有意义吗?此时,如果客户机访问了一个不存在的服务器,他们不知道服务器不知道他们想要从哪个组接收消息。就客户机而言,它只想知道它是否已断开连接或正在重新连接等。但是,在服务器不知道客户机是谁的情况下(客户机声称服务器应该知道)服务器将向客户机发送断开连接命令,以强制客户机执行完全启动(协商等)。在这种情况下,开发人员可以编写逻辑来重新加入X多个组。此外,请记住,在下一版本中,默认情况下,我们将不允许自动重新加入组(安全问题)。因此,在客户端上维护它们的做法将变得更加普遍。希望这会有所帮助。这里有一个指向自动重新加入错误的链接:这听起来是一个更好的解决方案-感谢提供的详细信息。期待1.0alpha版本。。。