winform 如何與server 建立連線的
winform使用的HUB连接模式
hubConnetion = new HubConnection(textBox1.Text);
hubConnetion.Start().ContinueWith……
服务端代码
hubContext.Clients.All.getClientSignData(base64Str);
@释通明:
有特別設定DisconnectTimeout 和KeepAlive 嗎?
@RosonJ: 没有的,没有特别操作,刚接触SignalR
@释通明:
寫StateChanged 觀察下狀況
@RosonJ: 好的,我研究下,另外多问一下,一般会在什么情况下出现我说的这种情况?之前没遇到过有些懵
@释通明:
正常情況下不會
頂多是ConnectionSlow
StateChanged 事件之外再加個ConnectionSlow 事件
試試能否鎖定異常原因
@RosonJ: 好的,谢谢了,我这边研究下
重写断开事件。
找下断线重连。
没有断开,就像假死状态一样,没断开,但就是收不到服务端的推送
@forhells: 一般会在什么情况下出现我说的这种情况?想找到根源
@释通明: 原因很多。比如说运营商路由设置导致。其实就是中断了。因为有好几个事件是要自己监控的。
不知道你用的是那个版本。
比如像最新的.net core的版本。客户端。
connection = new HubConnectionBuilder()
.WithUrl(CustomerConfig.Instance.publicserverurl)
.WithAutomaticReconnect()
.Build();
connection.Closed += async (error) =>
{
Log.Logger.Error(error.ToString());
await Task.Delay(3000);
await ConnectAsync();
};
connection.Reconnected += async connectionId =>
{
//重连事件处理
};
private async Task ConnectAsync()
{
await connection.StartAsync(token);//
}