Exemplo n.º 1
0
        public DNP_Frame(byte[] rawdata)
        {
            dt           = DateTime.Now;
            this.rawdata = rawdata;
            byte[] DLheader = new byte[10];
            for (int i = 0; i < 10; i++)  // rawdata has at least 10 bytes
            {
                DLheader[i] = rawdata[i];
            }
            dataLinkHeader = new DataLink_Header(DLheader);
            int rawdataindex = 10;

            if (rawdata.Length > 10) // rawdata more than 10 bytes (DLH + TH + AH)
            {
                transportHeader = new Transport_Header(rawdata[10]);
                rawdataindex    = 11;
                // Application_Layer Constructor Here
                byte[] APheader = new byte[rawdata.Length - 11];
                for (int i = 0; i < APheader.Length; i++)
                {
                    APheader[i] = rawdata[rawdataindex];
                    rawdataindex++;
                }
                applicationHeader = new Application_Header(this.dataLinkHeader, this.transportHeader, APheader);
            }
        }
Exemplo n.º 2
0
 public DNP_Frame(DataLink_Header DL, Transport_Header TH, Application_Header AP)
 {
     this.dataLinkHeader    = DL;
     this.transportHeader   = TH;
     this.applicationHeader = AP;
 }