1.增加盟讯公司业务逻辑相关适配 前后端增加配置参数“ISMX”进行控制
2.前端websocket取消心跳机制(原有心跳和断线重连当服务端网线断开后需要等tcp保活期到期后才能发现重连),自己实现心跳和重连 3.前端关闭后任占用后台线程问题修复
This commit is contained in:
@ -3,8 +3,10 @@ using Newtonsoft.Json;
|
||||
using Ping9719.WpfEx;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.Eventing.Reader;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using TouchSocket.Core;
|
||||
@ -30,12 +32,33 @@ namespace 货架标准上位机
|
||||
{
|
||||
a.Add<WebSocketClientPlugin>();
|
||||
//配置心跳
|
||||
a.UseWebSocketHeartbeat()//使用心跳插件
|
||||
.SetTick(TimeSpan.FromSeconds(5));//每5秒ping一次。
|
||||
//a.UseWebSocketHeartbeat()//使用心跳插件
|
||||
// .SetTick(TimeSpan.FromSeconds(5));//每5秒ping一次。
|
||||
//配置断线重连
|
||||
a.UseReconnection(-1, true, 1000);//-1表示一直重连
|
||||
}));
|
||||
client.Connect();
|
||||
//自定义实现心跳和重连
|
||||
Task.Run(async () =>
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
await Task.Delay(4000);
|
||||
try
|
||||
{
|
||||
WebSocket.client.Ping();
|
||||
await Task.Delay(200);
|
||||
if (WebSocket.client.LastReceivedTime < DateTime.Now.AddSeconds(-10))
|
||||
{
|
||||
WebSocket.client.TryConnect();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
public class WebSocketClientPlugin : PluginBase, IWebSocketReceivedPlugin
|
||||
@ -75,7 +98,10 @@ namespace 货架标准上位机
|
||||
switch (warning.WarningType)
|
||||
{
|
||||
case WarningTypeEnum.通知刷新出库:
|
||||
OutVentoryView.viewModel.RefreshDataGridItemSource();
|
||||
if (LocalFile.Config.IsMx)
|
||||
MXOutInventoryView.viewModel.RefreshDataGridItemSource();
|
||||
else
|
||||
OutVentoryView.viewModel.RefreshDataGridItemSource();
|
||||
client.Send(e.DataFrame.ToText());
|
||||
break;
|
||||
case WarningTypeEnum.通知刷新盘点:
|
||||
@ -97,7 +123,6 @@ namespace 货架标准上位机
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Application.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
WarningManager.AddWarning(warning);
|
||||
|
Reference in New Issue
Block a user