我正在编写一个严重依赖SignalR的应用程序.最近,我不得不选择卫星ISP提供商.这带来了一个大问题,看起来卫星的700毫秒延迟似乎给SignalR带来了困难.我可以测试延迟大约50ms的4G网络,那里的工作效果很好.我打开了客户端跟踪,问题是它何时尝试加入集线器.
以下是服务器上用于Join方法的代码:
public Task Join(string groupName)
{
var hub = GlobalHost.ConnectionManager.GetHubContext("myHub");
var results = hub.Groups.Add(Context.ConnectionId, groupName);
return results;
}
在日志中,我看到:
[23:41:14 GMT-0400 (Eastern Daylight Time)] SignalR: Client subscribed to hub 'myHub'. jquery.signalR-2.1.1.min.js:8
[23:41:14 GMT-0400 (Eastern Daylight Time)] SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.4&connectionData=%5B%7B%22name%22%3A%22myHub%22%7D%5D'. jquery.signalR-2.1.1.min.js:8
[23:41:15 GMT-0400 (Eastern Daylight Time)] SignalR: Connecting to websocket endpoint 'ws://myurl/signalr/connect?transport=webSockets&clientProtocol=1.4&connectionToken=myToken&connectionData=%5B%7B%22name%22%3A%22myHub%22%7D%5D&tid=10'. jquery.signalR-2.1.1.min.js:8
[23:41:30 GMT-0400 (Eastern Daylight Time)] SignalR: Websocket opened. jquery.signalR-2.1.1.min.js:8
[23:41:30 GMT-0400 (Eastern Daylight Time)] SignalR: webSockets transport selected. Initiating start request. jquery.signalR-2.1.1.min.js:8
[23:41:31 GMT-0400 (Eastern Daylight …Run Code Online (Sandbox Code Playgroud)