1.增加盟讯公司业务逻辑相关适配 前后端增加配置参数“ISMX”进行控制

2.前端websocket取消心跳机制(原有心跳和断线重连当服务端网线断开后需要等tcp保活期到期后才能发现重连),自己实现心跳和重连
3.前端关闭后任占用后台线程问题修复
This commit is contained in:
hehaibing-1996
2024-05-25 17:25:27 +08:00
parent 472862a978
commit 00621bcd55
82 changed files with 3404 additions and 240 deletions

View File

@ -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);