示例#1
0
        private TPDU(byte[] packet, int packetLen)
        {
            if (packetLen < 3)
            {
                throw new Exception("TPUD: Packet size lower than 3 bytes.");
            }

            Li      = packet[0];
            PDUType = (packet[1] >> 4);

            switch (PDUType)
            {
            case (int)TPDU_TYPES.CR:
                PduCon = new TPDUConnection(packet);
                break;

            case (int)TPDU_TYPES.CC:
                PduCon = new TPDUConnection(packet);
                break;

            case (int)TPDU_TYPES.DT:
                PduData = new TPDUData(packet);
                break;
            }
        }
示例#2
0
 public void MakeDataPacket(byte[] data, int sourceIndex, int length, bool lastDataUnit)
 {
     PDUType               = (int)TPDU_TYPES.DT;
     Li                    = 2;
     PduData               = new TPDUData();
     PduData.TPDUNr        = 0;
     PduData.EOT           = lastDataUnit;
     PduData.Payload       = new byte[length];
     PduData.PayloadLength = length;
     Array.Copy(data, sourceIndex, PduData.Payload, 0, length);
 }