gpt4 book ai didi

asp.net - Signalr - 无尽的 $.connection.hub.disconnected 事件?

转载 作者:行者123 更新时间:2023-12-01 00:34:57 29 4
gpt4 key购买 nike

我正在使用具有成功 websocket 连接的 Signalr 2.2.1。

enter image description here

以下是不同状态的事件:(为简洁起见简化)

var hub = $.connection.moveShapeHub;


$.connection.hub.start().done(function ()
{
console.log("hub started successfully");

}).fail(function () { console.log('Could not Connect!'); });


$.connection.hub.disconnected(function ()
{
$.connection.hub.start();
console.log('Connection disconnected')
});

我的应用程序按预期工作正常。

但是看看当我禁用网卡时会发生什么(我不是通过 localhost 而是通过动态 dns 访问我的计算机,该 dns 进入世界然后返回到我的计算机)

一开始可以看到websocket连接错误(我多次看到)

WebSocket connection to 'ws://xxxxxx.ddns.net/signalr/reconnect?transport=webSockets&messageId=d-C68A95E5-g%2C1&clientProtocol=1.5&connectionToken=%2FDJL8eAtVtSA3XKeap4Js3IrbkCm56C%2FWKCQtApGiMroWAgnzNoRHmJ0Y2LpIdWWWL%2BfY3dXvJqYHFfby1XYii0ibPpKM55PQuZyf9aH4k9JHIT79lWoMWBasIpa9Gjk&connectionData=%5B%5D&tid=2' failed: Error in connection establishment: net::ERR_INTERNET_DISCONNECTED



然后你会看到 无休止的电话 (!!!) 洽谈

http://xxxx.ddns.net/signalr/negotiate?clientProtocol=1.5&connectionToken=%2FDJL8eAtVtSA3XKeap4Js3IrbkCm56C%2FWKCQtApGiMroWAgnzNoRHmJ0Y2LpIdWWWL%2BfY3dXvJqYHFfby1XYii0ibPpKM55PQuZyf9aH4k9JHIT79lWoMWBasIpa9Gjk&connectionData=%5B%7B%22name%22%3A%22moveshapehub%22%7D%5D&_=1485811277855



等待 ~15 秒看无限循环:

enter image description here

问题

我该如何解决那些无休止的电话?或者交替 - 增加那些“谈判调用”的延迟 - 每 2 秒说一次(而不是无休止地快速 0.1 秒)

编辑

我已经改变了这个代码:
$.connection.hub.disconnected(function ()
{
$.connection.hub.start();
console.log('Connection disconnected')
});

对此(删除集线器开始):
$.connection.hub.disconnected(function ()
{
console.log('Connection disconnected')
});

现在我只看到这条消息:

enter image description here

但是现在我失去了在断开连接的情况下“尝试重新启动连接”的所有基本想法。所以我再问一下是否有任何合理的解决方案或至少尝试“每 2 秒重新启动一次连接”?

最佳答案

negotiate是 SignalR 客户端为建立连接而发送的第一个请求。您正在尝试在 disconnected 中断开连接后立即启动连接。事件处理程序。因为网络不通negotiate失败并且 disconnected事件被调用,您尝试再次启动连接。
documentation显示如何使用超时来做到这一点:

$.connection.hub.disconnected(function() {
setTimeout(function() {
$.connection.hub.start();
}, 5000); // Restart connection after 5 seconds.
});

关于asp.net - Signalr - 无尽的 $.connection.hub.disconnected 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41945721/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com