SignalR连接错误
我使用SignalR 2.0.0 Win2012 iis8与两个不同的ips两个环境。 一个环境服务正在启动,第二个正在关闭(故意) 使用websocket协议。SignalR连接错误
我有以下情况: 当我连接到第一个环境,并希望连接到第二个。 我断开与第一个环境,并尝试连接到第二个环境,我得到错误(其正确行为) 我尝试重新连接回第一个环境,但我仍然有同样的错误。
错误是“协商请求期间出错”。 刷新浏览器后,我可以再次将成功连接到第一个环境。
我到底做错了什么?
这是我的代码部分:
function connect(host)
{
var hubConnection = $.hubConnection.('');
hubConnection.url = host;
hubConnection.start()
.done(open)
.fail(error);
}
function open()
{
console.log('login success')
}
function disconnect()
{
var self = this,
hubConnection = $.hubConnection("");
console.log('disconnect ')
hubConnection.stop(true, true);
}
function error(error)
{
var self = this,
hubConnection = $.hubConnection("");
console.log('connection error ')
if(error && hubConnection.state !== $.connection.connectionState.connected)
{
.....
.....
//logic detemninate wich environment ip was previous
connect(environment ip)
}
}
//occured when button disconnect clicked
function disconnectFromFirstEnvironmentAndConnectToSecond()
{
disconect();
connect(second environment ip);
}
.....
.....
connect(first environment ip);
你不会保留你的第一个连接的参考。
又名:您创建HubConnection
,然后永远不会将其捕获到稍后可用的范围中;因此,稍后断开连接时,connection.stop不会执行任何操作,因为它不是在最初启动的HubConnection
上调用stop。
这最终可能会导致您有太多的同时打开的请求,这将不允许您与服务器进行协商,因此您的错误。
我建议修复如何停止/启动连接。接下来,如果问题仍然存在,我会检查网络流量以确保有效的请求正在进行。
对不起,我不明白你可以解决我的代码。 谢谢 – user3227750
嗨泰勒, 你能对我以前的问题态度吗?谢谢 – user3227750
加入您的codez,我们可以帮助 –
我加了问题的代码。谢谢 – user3227750