diff --git a/Class/AsyncTcpServer.cs b/Class/AsyncTcpServer.cs index 5060a58..6f31975 100644 --- a/Class/AsyncTcpServer.cs +++ b/Class/AsyncTcpServer.cs @@ -124,32 +124,37 @@ namespace ForwardingServerUI.Class } else { - Personm deserializedPerson = JsonSerializer.Deserialize(DAT)!; - Application.Current.Dispatcher.Invoke(() => + string trimmedDat = DAT.Trim(); + if (!string.IsNullOrEmpty(trimmedDat) && + (trimmedDat[0] == '{' || trimmedDat[0] == '[')) { - var mach = MainWindowViewModel._machineTable.Select("Enterprise='" + deserializedPerson.SERVEREnterprise + - "'and MachineName='" + deserializedPerson.SERVERMachineName + "'"); - if (mach.Length > 0) + Personm deserializedPerson = JsonSerializer.Deserialize(trimmedDat)!; + Application.Current.Dispatcher.Invoke(() => { - //刷新设备信息表 - DataRow dataRow = mach.First(); - dataRow.BeginEdit(); - dataRow["ID"] = client.Id; - dataRow["IP"] = client.IP; - dataRow["Start"] = 30; - dataRow["Enterprise"] = "/" + deserializedPerson.SERVEREnterprise; - dataRow["MachineName"] = deserializedPerson.SERVERMachineName; - dataRow["MachineVer"] = deserializedPerson.MachineVer; - dataRow.EndEdit(); - dataRow.AcceptChanges(); - } - else - { - //添加设备信息表 - MainWindowViewModel._machineTable.Rows.Add(client.Id, client.IP, 30, "/" + deserializedPerson.SERVEREnterprise, - deserializedPerson.SERVERMachineName, DateTime.Now.ToString(), deserializedPerson.MachineVer); - } - }); + var mach = MainWindowViewModel._machineTable.Select("Enterprise='" + deserializedPerson.SERVEREnterprise + + "'and MachineName='" + deserializedPerson.SERVERMachineName + "'"); + if (mach.Length > 0) + { + //刷新设备信息表 + DataRow dataRow = mach.First(); + dataRow.BeginEdit(); + dataRow["ID"] = client.Id; + dataRow["IP"] = client.IP; + dataRow["Start"] = 30; + dataRow["Enterprise"] = "/" + deserializedPerson.SERVEREnterprise; + dataRow["MachineName"] = deserializedPerson.SERVERMachineName; + dataRow["MachineVer"] = deserializedPerson.MachineVer; + dataRow.EndEdit(); + dataRow.AcceptChanges(); + } + else + { + //添加设备信息表 + MainWindowViewModel._machineTable.Rows.Add(client.Id, client.IP, 30, "/" + deserializedPerson.SERVEREnterprise, + deserializedPerson.SERVERMachineName, DateTime.Now.ToString(), deserializedPerson.MachineVer); + } + }); + } Console.WriteLine("[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + " LINK ID " + client.Id + " IP " + client.IP + "]\nDATA =" + DAT); }