FACT_DATA_HEAD.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace UAS_MES_NEW.PublicMethod
  6. {
  7. internal class FACT_DATA_HEAD
  8. {
  9. public const int MY_LEN = 8;
  10. public static int PROTOCOL_FLAG = 0x4C4F4F54;
  11. private UInt32 nFlag { get; set; }
  12. private UInt32 nDataLen { get; set; }
  13. public FACT_DATA_HEAD(byte[] arrData)
  14. {
  15. if (arrData == null)
  16. {
  17. nFlag = (UInt32)PROTOCOL_FLAG;
  18. nDataLen = 0;
  19. }
  20. else
  21. {
  22. if (arrData.Length < MY_LEN)
  23. {
  24. nFlag = (UInt32)PROTOCOL_FLAG;
  25. nDataLen = 0;
  26. }
  27. else
  28. {
  29. nFlag = (UInt32)BitConverter.ToInt32(arrData, 0);
  30. nDataLen = (UInt32)BitConverter.ToInt32(arrData, 4);
  31. }
  32. }
  33. }
  34. public void setDataLen(int nLen)
  35. {
  36. nDataLen = (UInt32)nLen;
  37. }
  38. public int getDatalen()
  39. {
  40. return (int)nDataLen;
  41. }
  42. public int getFlag()
  43. {
  44. return (int)nFlag;
  45. }
  46. public byte[] getBytes()
  47. {
  48. byte[] bytHead = new byte[MY_LEN];
  49. byte[] bytSrc = BitConverter.GetBytes(nFlag);
  50. Array.Copy(bytSrc, 0, bytHead, 0, bytSrc.Length);
  51. bytSrc = BitConverter.GetBytes(nDataLen);
  52. Array.Copy(bytSrc, 0, bytHead, 4, bytSrc.Length);
  53. return bytHead;
  54. }
  55. }
  56. }