繁体   English   中英

SignalR 2.2后备传输已用尽-连接不可靠

[英]SignalR 2.2 Fallback transports exhausted - connection unreliable

编辑实际上,这根本不是固定的,只是在更改后立即起作用。 我在这里迷路了。

我有一个网站,它是社交媒体聚合器,它从不同的社交网站收集媒体,并通过信号器将其推送给连接的用户。

这对我和大多数其他用户来说效果很好,但是我们最大的客户之一却遇到了可靠连接的问题。

以下链接几乎是相同的问题,这里建议的修复也对我有用SignalR 2长轮询“协议”请求在本地未运行时超时

我的问题是:为什么此功能适用于除此客户以外的其他所有人? 我假设这与他们的网络配置/代理/ vpn等有关。

我将客户端的超时时间增加到10秒,而将服务器端的超时时间增加到10秒,所以如果我正确理解这一点,现在是20秒超时。

有人可以帮忙解释造成我所见的东西的原因吗? 他们的互联网速度并不慢,网站反应灵敏,是否可以像他们的网络配置和延迟一样简单? 还是某种会使连接速度减慢到足以引起默认设置问题的代理?

我想了解为什么此修复程序似乎可以解决问题,我不愿意现在解决,因为这对我来说很奇怪。

进行此更改之前的日志如下所示:

SignalR: Client subscribed to hub 'myhub'.
SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D'.
SignalR: serverSentEvents transport starting.
SignalR: Attempting to connect to SSE endpoint 'signalr/connect?transport=serverSentEvents&clie…3gsDmCzfkA%3D%3D&connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D&tid=7'.
SignalR: EventSource connected.
SignalR: serverSentEvents transport connected. Initiating start request.
SignalR: serverSentEvents transport failed during the start request. Stopping the connection.
SignalR: Stopping connection.
SignalR: EventSource calling close().
SignalR: Fired ajax abort async = true.
SignalR: The start request aborted because connection.stop() was called.
SignalR: Client subscribed to hub 'myhub'.
SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.5&connectionToken=ubEjncDXPj0%2BF6YsbdPGaBRMoRKpb6b2rmP96H8I8dzoNNrQuG3hzvmBmcvTeocMXMKphG7WAYx%2B5CXWZqHTQzQ0Ix4Q0oY8WSGBbrK0Gg642QUJ4H2CP%2F%2F%2BZeWf6s9gpW6VsbAmlu453gsDmCzfkA%3D%3D&connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D'.
SignalR: serverSentEvents transport starting.
SignalR: Attempting to connect to SSE endpoint '/signalr/connect?transport=serverSentEvents&clie…jsKYjxsjjQ%3D%3D&connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D&tid=2'.
SignalR: EventSource connected.
SignalR: serverSentEvents transport connected. Initiating start request.
SignalR: serverSentEvents transport failed during the start request. Stopping the connection.
SignalR: Stopping connection.
SignalR: EventSource calling close().
SignalR: Fired ajax abort async = true.
SignalR: The start request aborted because connection.stop() was called.
SignalR: Client subscribed to hub 'myhub'.
SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.5&connectionToken=gOOVxYvgb3S%2Fd2lHGesc%2BqQmm26O5E0sA72Sctx3HXaKmZniWL2LokTGYF7QTpGEInG2%2B%2FiscmTx%2BfA0JWbMB6oJkgWEJ0zd2zlJdvy8BpZsDaJXIBK3pIEZxognlA6qsOECLf5IEY%2BrjsKYjxsjjQ%3D%3D&connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D'.
SignalR: serverSentEvents transport starting.
SignalR: Attempting to connect to SSE endpoint '/signalr/connect?transport=serverSentEvents&clie…QWnHGdfTg%3D%3D&connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D&tid=10'.
SignalR: serverSentEvents transport timed out when trying to connect.
SignalR: EventSource calling close().
SignalR: serverSentEvents transport failed to connect. Attempting to fall back.
SignalR: foreverFrame transport starting.
SignalR: Forever Frame is not supported by SignalR on browsers with SSE support.
SignalR: foreverFrame transport failed to connect. Attempting to fall back.
SignalR: longPolling transport starting.
SignalR: Opening long polling request to '/signalr/connect?transport=longPolling&clientPro…YXqliyLQWnHGdfTg%3D%3D&connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D'.
SignalR: longPolling transport timed out when trying to connect.
SignalR: Aborted xhr request.
SignalR: longPolling transport failed to connect. Attempting to fall back.
SignalR: Fallback transports exhausted.
SignalR: Stopping connection.
SignalR: Fired ajax abort async = true.

在进行更改后:

SignalR: Client subscribed to hub 'myhub'.
SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D'.
SignalR: serverSentEvents transport starting.
SignalR: Attempting to connect to SSE endpoint '/signalr/connect?transport=serverSentEvents&clie…Ck0cV1%2Fg%3D%3D&connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D&tid=1'.
SignalR: EventSource connected.
SignalR: serverSentEvents transport connected. Initiating start request.
SignalR: The start request succeeded. Transitioning to the connected state.
SignalR: Now monitoring keep alive with a warning timeout of 6666.666666666666, keep alive timeout of 10000 and disconnecting timeout of 15000

我发现了问题,Chrome已过期!

客户端安装了37版,现在已经是49版(此职位创建时的版本),现在已过期12个版本。

我安装了SignalR v2.1.1的早期版本,因为我听说这是一个非常稳定的发行版,其他人在2.2版中遇到了问题

这也不起作用,我也无法保持ping状态,并且连接会不断回收自身。

一旦找到了他们使用的chrome版本,我只需安装在chrome v37之后和v38之前发布的SignalR版本(幸运的是,他们在这些版本之间发布了SignalR。这只是解决了这个问题。

我现在正在客户端上将其版本更新为最新版本。 祝我好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM