/// <summary> /// 接收到 交换机设备搜索应答处理 /// </summary> /// <param name="data"></param> private static void HandleSearchData(byte[] data) { if (data.Length != 208) { return; } if (data[5] != 0x11 && data[5] != 0x12) { return; } Console.WriteLine("MAC:" + Util.ConvertByteToMac(data, 72) + " 收到设备回复 02 "); NetDeviceInfo info = new NetDeviceInfo(); info.DeviceType = 1; info.Mac = BitConverter.ToString(data, 72, 6).Replace('-', '.'); info.Ip = Util.ConvertByteToIP(data, 78); info.SubMask = Util.ConvertByteToIP(data, 82); info.GatewayIp = Util.ConvertByteToIP(data, 86); if (!_searchList.ContainsKey(info.Ip)) { _searchList.Add(info.Ip, info); } }
/// <summary> /// 接收到 分站搜索应答处理 /// </summary> /// <param name="data"></param> private static void HandleSearchFzhData(byte[] data) { ushort ljl = 0; Console.WriteLine("FZH:" + data[4] + " MAC:" + Util.ConvertByteToMac(data, 13) + " IP:" + Util.ConvertByteToIP(data, 9) + " 收到设备回复 02 " + data.Length); if (data.Length < 29) { return; } for (int i = 4; i < data.Length - 2; i++) { ljl += data[i]; } if (ljl == ((data[data.Length - 1] << 8) + data[data.Length - 2])) { NetDeviceInfo info = new NetDeviceInfo(); info.DeviceType = 3; info.Mac = BitConverter.ToString(data, 13, 6).Replace('-', '.'); info.Ip = Util.ConvertByteToIP(data, 9); info.SubMask = Util.ConvertByteToIP(data, 19); info.GatewayIp = Util.ConvertByteToIP(data, 23); info.StationAddress = data[4]; if (!_searchList.ContainsKey(info.Ip)) { _searchList.Add(info.Ip, info); } } }