/// <summary> /// 数据处理 /// </summary> /// <param name="o">socket对象</param> /// <param name="a1">字节数据</param> /// <param name="length">长度</param> private void DataHandle(Socket o, byte[] a1, int length) { try { //string s=ConvertHelper.BytesToString(a1, Encoding.UTF8).Replace("\0",""); //a1 = ConvertHelper.StringToBytes(s, Encoding.UTF8); //object objs = new StruFS1016AlarmInfo(); // ConvertHelper.ByteArrayToStructureEndian(a1, ref objs, 0);//ConvertHelper.BytesToStruct<StruFS1016AlarmInfo>(a1); //ConvertHelper.BytesToStruct(a1, typeof(StruFS1016AlarmInfo)); StruFS1016AlarmInfo obj = ConvertHelper.BytesToStruct <StruFS1016AlarmInfo>(a1);//(StruFS1016AlarmInfo)objs; StruNetHeartBeatInfo heart = new StruNetHeartBeatInfo(); if (obj.ccHeader.sync_code != null) { if (obj.ccHeader.header_type == 1) { return; } RecvData?.Invoke(obj, ((IPEndPoint)o.RemoteEndPoint).Address.ToString()); } else { heart = ConvertHelper.BytesToStruct <StruNetHeartBeatInfo>(a1);//ConvertHelper.BytesToStruct(a1, typeof(StruNetHeartBeatInfo)); } } catch (Exception) { } }