Пример #1
0
 private static void ReadRecords(Internal.ByteReader reader, IList <DNS.RR> records, int count)
 {
     for (int i = 0; i < count; i++)
     {
         DNS.RRBase rrbase = new DNS.RRBase();
         ((Internal.IResponseReader)rrbase).ReadResponse(reader);
         DNS.RR rr = DNS.RR.CreateInstance(rrbase);
         rr.ReadRDATA(reader);
         records.Add(rr);
     }
 }
Пример #2
0
        void Internal.IResponseReader.ReadResponse(Internal.ByteReader reader)
        {
            // header
            ((Internal.IResponseReader)Header).ReadResponse(reader);

            // question section
            for (int i = 0; i < Header.QDCOUNT; i++)
            {
                DNS.Question q = new DNS.Question();
                ((Internal.IResponseReader)q).ReadResponse(reader);
                Questions.Add(q);
            }

            // answer section
            ReadRecords(reader, AnswerRecordsList, Header.ANCOUNT);

            // authority records section.
            ReadRecords(reader, AuthorityRecordsList, Header.NSCOUNT);

            // additional records section
            ReadRecords(reader, AdditionalRecordsList, Header.ARCOUNT);
        }