TpktHeader.cs 825 B

123456789101112131415161718192021222324252627282930
  1. using PlcSiemens.O;
  2. namespace PlcSiemens.Protocol.Header
  3. {
  4. // TPKT Header - ISO on TCP - RFC 1006 (4 bytes)
  5. // Packet length : min 7 max 65535
  6. public class TpktHeader
  7. {
  8. public byte Version { get; set; } // Always 3 for RFC 1006
  9. public byte Reserved { get; set; } // 0
  10. public ushort Length { get; set; } //整个数据包的长度
  11. public ushort PacketLength
  12. { get { return 0x04; } }
  13. public void GetByteBuffer(ByteBuffer buffer)
  14. {
  15. buffer.Push(Version);
  16. buffer.Push(Reserved);
  17. buffer.Push(Length);
  18. }
  19. public void InitByBuffer(ByteBuffer buffer)
  20. {
  21. Version = buffer.PopByte();
  22. Reserved = buffer.PopByte();
  23. Length = buffer.PopUshort();
  24. }
  25. }
  26. }