修改一些BUG

This commit is contained in:
2026-03-10 15:56:53 +08:00
parent 633aa3b15a
commit 7ec9621901
4 changed files with 470 additions and 43 deletions

View File

@@ -55,6 +55,10 @@ namespace LogCap.Common
List<byte> MsgData = data.Skip(15).Take(Len_int - 15 - 2).ToList();
List<byte> CRC_byte = data.TakeLast(2).ToList();
if (source_ip.Equals("106.32.130.149")&&source_port==3386)
{
_logger.Error("data:"+Tools.ByteToString(data.ToArray()));
}
string Key = string.Format("{0}_{1}_{2}", CacheKey.RoomIP_Port_Prefix, source_ip, source_port);
string Dest_Key = string.Format("{0}_{1}_{2}", CacheKey.RoomIP_Port_Prefix, dest_ip, dest_port);
@@ -170,39 +174,39 @@ namespace LogCap.Common
//设备状态上报
if (cmdType_byte == 0x0E)
{
if (MsgData != null && MsgData.Count > 0)
if (MsgData != null && MsgData.Count > 8)
{
//设备的数量
byte[] couont = MsgData.Skip(7).Take(1).ToArray();
int Count = couont[0];
var MMN = MsgData.Skip(8);
for (int j = 0; j < Count; j++)
if (couont.Length > 0)
{
var DeviceData = MMN.Skip(j * 5).Take(5).ToArray();
if (DeviceData[0] == 0x0A)
int Count = couont[0];
var MMN = MsgData.Skip(8);
for (int j = 0; j < Count; j++)
{
byte n1 = DeviceData[0];
byte n2 = DeviceData[1];
var DeviceData = MMN.Skip(j * 5).Take(5).ToArray();
if (DeviceData.Length >= 5 && DeviceData[0] == 0x0A)
{
byte n1 = DeviceData[0];
byte n2 = DeviceData[1];
byte[] vvv = new byte[] { DeviceData[4] };
byte[] vvv = new byte[] { DeviceData[4] };
BitArray bitArray = new BitArray(vvv);
//卡身份
var qqq1 = bitArray.Cast<bool>().Take(1).ToArray();
BitArray bitArray = new BitArray(vvv);
//卡身份
var qqq1 = bitArray.Cast<bool>().Take(1).ToArray();
var qqq2 = bitArray.Cast<bool>().Skip(1).Take(3).ToArray();
var qqq3 = qqq2.ToArray().Prepend(false).ToArray();
//节能状态
byte hhhg1 = Tools.CombineBitsToByte(qqq3[3], qqq3[2], qqq3[1], qqq3[0]);
var qqq2 = bitArray.Cast<bool>().Skip(1).Take(3).ToArray();
var qqq3 = qqq2.ToArray().Prepend(false).ToArray();
//节能状态
if (qqq3.Length >= 4)
{
byte hhhg1 = Tools.CombineBitsToByte(qqq3[3], qqq3[2], qqq3[1], qqq3[0]);
}
}
}
}
}
@@ -240,6 +244,10 @@ namespace LogCap.Common
{
try
{
if (data == null || data.Count < 13)
{
return;
}
////系统 ID 的四个字节。固定“T3SA”
//List<byte> ID = data.Skip(4).Take(4).ToList();
@@ -252,16 +260,19 @@ namespace LogCap.Common
//Project_Code
List<byte> Project_Code = data.Skip(11).Take(2).ToList();
ushort hotel_code_o = BitConverter.ToUInt16(Project_Code.ToArray(), 0);
if (Project_Code.Count >= 2)
{
ushort hotel_code_o = BitConverter.ToUInt16(Project_Code.ToArray(), 0);
////MAC
//List<byte> IP3 = data.Skip(13).Take(1).ToList();
//List<byte> IP4 = data.Skip(14).Take(1).ToList();
////MAC
//List<byte> IP3 = data.Skip(13).Take(1).ToList();
//List<byte> IP4 = data.Skip(14).Take(1).ToList();
long hotel_code = hotel_code_o;
string hostnumber = "";
string hexdata = Tools.ByteToString(data.ToArray());
HttpSend.SendLog_2(cmdtype, hotel_code, 0, "", hostnumber, source_ip, source_port, "", 0, "", Send_Or_Receive, hexdata);
long hotel_code = hotel_code_o;
string hostnumber = "";
string hexdata = Tools.ByteToString(data.ToArray());
HttpSend.SendLog_2(cmdtype, hotel_code, 0, "", hostnumber, source_ip, source_port, "", 0, "", Send_Or_Receive, hexdata);
}
}
catch (Exception)
{
@@ -281,28 +292,34 @@ namespace LogCap.Common
ReceiverContext context = new ReceiverContext(data.ToArray());
context.SystemHeader = DecodeSystemHeader(context.Data);
if (!context.SystemHeader.HasValue)
{
return;
}
string Ghostnumber = context.SystemHeader.Value.HostNumber.ToString() ?? "";
if (string.IsNullOrEmpty(Ghostnumber))
{
return;
}
long HHH = 0;
var abd = context.SystemHeader.HasValue;
if (abd == false)
{
return;
}
try
{
HHH = context.SystemHeader.Value.HostNumber.ToHotelCode();
}
catch (Exception)
{
var data_error= Tools.ByteToString(data.ToArray());
Console.WriteLine("ErrorData"+data_error);
var data_error = Tools.ByteToString(data.ToArray());
Console.WriteLine("ErrorData" + data_error);
return;
}
//var MAC = BitConverter.ToString(context.Data.Skip(9).Take(2).ToArray());
//if (MAC.ToLower().Equals("9CD6"))
//{
// _logger.Info("MAC:" + MAC);
// _logger.Info("data:" + Tools.ByteToString(data.ToArray()));
//}
var list = Program.Cache.Get<List<Monitor_Host>>(CacheKey.Key);