public UdpPacket(int userId, int pid, UdpPacketType requestType) { this.UserId = userId; this.PId = pid; this.PacketType = requestType; data = new List <byte[]>(); }
public UdpPacket(int userId, int pid, UdpPacketType requestType) { this.UserId = userId; this.PId = pid; this.PacketType = requestType; data = new List<byte[]>(); }
public static UdpPacket Decode(Stream stream) { EndianBinaryReader endianBinaryReader = stream != null?stream.CreateSuitableBinaryReader() : throw new ArgumentNullException(nameof(stream)); short num1 = endianBinaryReader.ReadInt16(); short num2 = endianBinaryReader.ReadInt16(); UdpPacketType udpPacketType = (UdpPacketType)endianBinaryReader.ReadByte(); byte num3 = endianBinaryReader.ReadByte(); switch (udpPacketType) { case UdpPacketType.DataReqAck: case UdpPacketType.DataNotReqAck: if (num1 == 5) { byte num4 = endianBinaryReader.ReadByte(); UdpPacket udpPacket1 = new UdpPacket(); udpPacket1.Id = num2; udpPacket1.Type = udpPacketType; UdpPacket udpPacket2 = udpPacket1; UdpResponse udpResponse1 = new UdpResponse(); udpResponse1.AvlPacketId = num3; udpResponse1.AcceptedNum = num4; UdpResponse udpResponse2 = udpResponse1; udpPacket2.Payload = udpResponse2; return(udpPacket1); } string s = ImeiEncoding.Decode(stream); int count = num1 - 2 - 1 - 1 - (2 + ImeiEncoding.Encoding.GetByteCount(s)); byte[] numArray = endianBinaryReader.ReadBytes(count); UdpPacket udpPacket3 = new UdpPacket(); udpPacket3.Id = num2; udpPacket3.Type = udpPacketType; UdpPacket udpPacket4 = udpPacket3; UdpData udpData1 = new UdpData(); udpData1.AvlPacketId = num3; udpData1.Imei = s; udpData1.Data = numArray; UdpData udpData2 = udpData1; udpPacket4.Payload = udpData2; return(udpPacket3); case UdpPacketType.Ack: endianBinaryReader.ReadByte(); return(new UdpPacket() { Id = num2, Type = udpPacketType, Payload = null }); default: throw new ApplicationException("Not supported packet type"); } }
private bool IsCorrectPackageType(byte[] rawData) { UdpPacketType packetType = (UdpPacketType)rawData[10]; return(packetType == UdpPacketType.eCarPhysics); }