Esempio n. 1
0
        public void Deserialize(BinaryReader reader)
        {
            ID    = NetworkHelper.Nthos(reader.ReadUInt16());
            Flags = (DnsPacketFlags)NetworkHelper.Nthos(reader.ReadUInt16());
            ushort questionCount      = NetworkHelper.Nthos(reader.ReadUInt16());
            ushort answerCount        = NetworkHelper.Nthos(reader.ReadUInt16());
            ushort authoritativeCount = NetworkHelper.Nthos(reader.ReadUInt16());
            ushort additionalCount    = NetworkHelper.Nthos(reader.ReadUInt16());

            for (int i = 0; i < questionCount; i++)
            {
                DnsQuestion question = new DnsQuestion();
                question.Deserialize(reader);
                Questions.Add(question);
            }

            for (int i = 0; i < answerCount; i++)
            {
                DnsResourceRecord record = DnsResourceRecord.DeserializeResourceRecord(reader);
                Answers.Add(record);
            }

            for (int i = 0; i < authoritativeCount; i++)
            {
                DnsResourceRecord record = DnsResourceRecord.DeserializeResourceRecord(reader);
                Authoritatives.Add(record);
            }

            for (int i = 0; i < additionalCount; i++)
            {
                DnsResourceRecord record = DnsResourceRecord.DeserializeResourceRecord(reader);
                Additionals.Add(record);
            }
        }
Esempio n. 2
0
        public void AddAdditional(DnsResourceRecord record)
        {
            if (record == null)
            {
                throw new ArgumentNullException(nameof(record));
            }

            Additionals.Add(record);
        }