using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace UAS_MES_NEW.PublicMethod { internal class FACT_DATA_HEAD { public const int MY_LEN = 8; public static int PROTOCOL_FLAG = 0x4C4F4F54; private UInt32 nFlag { get; set; } private UInt32 nDataLen { get; set; } public FACT_DATA_HEAD(byte[] arrData) { if (arrData == null) { nFlag = (UInt32)PROTOCOL_FLAG; nDataLen = 0; } else { if (arrData.Length < MY_LEN) { nFlag = (UInt32)PROTOCOL_FLAG; nDataLen = 0; } else { nFlag = (UInt32)BitConverter.ToInt32(arrData, 0); nDataLen = (UInt32)BitConverter.ToInt32(arrData, 4); } } } public void setDataLen(int nLen) { nDataLen = (UInt32)nLen; } public int getDatalen() { return (int)nDataLen; } public int getFlag() { return (int)nFlag; } public byte[] getBytes() { byte[] bytHead = new byte[MY_LEN]; byte[] bytSrc = BitConverter.GetBytes(nFlag); Array.Copy(bytSrc, 0, bytHead, 0, bytSrc.Length); bytSrc = BitConverter.GetBytes(nDataLen); Array.Copy(bytSrc, 0, bytHead, 4, bytSrc.Length); return bytHead; } } }