本文整理汇总了C#中Heijden.DNS.RecordReader.ReadDomainName方法的典型用法代码示例。如果您正苦于以下问题:C# RecordReader.ReadDomainName方法的具体用法?C# RecordReader.ReadDomainName怎么用?C# RecordReader.ReadDomainName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Heijden.DNS.RecordReader
的用法示例。
在下文中一共展示了RecordReader.ReadDomainName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RecordSOA
public RecordSOA(RecordReader rr)
{
MNAME = rr.ReadDomainName();
RNAME = rr.ReadDomainName();
SERIAL = rr.ReadUInt32();
REFRESH = rr.ReadUInt32();
RETRY = rr.ReadUInt32();
EXPIRE = rr.ReadUInt32();
MINIMUM = rr.ReadUInt32();
}
示例2: ReadDomainName
public string ReadDomainName()
{
StringBuilder name = new StringBuilder();
int length = 0;
// get the length of the first label
while ((length = ReadByte()) != 0)
{
// top 2 bits set denotes domain name compression and to reference elsewhere
if ((length & 0xc0) == 0xc0)
{
// work out the existing domain name, copy this pointer
RecordReader newRecordReader = new RecordReader(m_Data, (length & 0x3f) << 8 | ReadByte());
name.Append(newRecordReader.ReadDomainName());
return name.ToString();
}
// if not using compression, copy a char at a time to the domain name
while (length > 0)
{
name.Append(ReadChar());
length--;
}
name.Append('.');
}
if (name.Length == 0)
return ".";
else
return name.ToString();
}
示例3: RecordSRV
public RecordSRV(RecordReader rr)
{
PRIORITY = rr.ReadUInt16();
WEIGHT = rr.ReadUInt16();
PORT = rr.ReadUInt16();
TARGET = rr.ReadDomainName();
}
示例4: RecordSRV
public RecordSRV(RecordReader rr)
{
Priority = rr.ReadShort();
Weight = rr.ReadShort();
Port = rr.ReadShort();
Target = rr.ReadDomainName();
}
示例5: ReadDomainName
public string ReadDomainName()
{
var bytes = new List<byte>();
int length = 0;
// get the length of the first label
while ((length = ReadByte()) != 0)
{
// top 2 bits set denotes domain name compression and to reference elsewhere
if ((length & 0xc0) == 0xc0)
{
// work out the existing domain name, copy this pointer
RecordReader newRecordReader = new RecordReader(m_Data, (length & 0x3f) << 8 | ReadByte());
if (bytes.Count > 0)
{
return Encoding.UTF8.GetString(bytes.ToArray(), 0, bytes.Count) + newRecordReader.ReadDomainName();
}
return newRecordReader.ReadDomainName();
}
// if not using compression, copy a char at a time to the domain name
while (length > 0)
{
bytes.Add(ReadByte());
length--;
}
bytes.Add((byte)'.');
}
if (bytes.Count == 0)
return ".";
return Encoding.UTF8.GetString(bytes.ToArray(), 0, bytes.Count);
}
示例6: RecordNXT
public RecordNXT(RecordReader rr)
{
ushort length = rr.ReadUInt16(-2);
NEXTDOMAINNAME = rr.ReadDomainName();
length -= (ushort)rr.Position;
BITMAP = new byte[length];
BITMAP = rr.ReadBytes(length);
}
示例7: RecordNAPTR
public RecordNAPTR(RecordReader rr)
{
ORDER = rr.ReadUInt16();
PREFERENCE = rr.ReadUInt16();
FLAGS = rr.ReadString();
SERVICES = rr.ReadString();
REGEXP = rr.ReadString();
REPLACEMENT = rr.ReadDomainName();
}
示例8: RecordNAPTR
public RecordNAPTR(RecordReader rr)
{
Order = rr.ReadShort();
Preference = rr.ReadShort();
rr.ReadChar(); // 1 byte needs to be skipped since for ENUM lookups the flag should be single char only.
Flag = rr.ReadChar();
Service = rr.ReadString();
Rule = rr.ReadString();
Rule = (Rule != null) ? Rule.Replace(@"\\", @"\") : null;
Replacement = rr.ReadDomainName();
}
示例9: RecordTKEY
public RecordTKEY(RecordReader rr)
{
ALGORITHM = rr.ReadDomainName();
INCEPTION = rr.ReadUInt32();
EXPIRATION = rr.ReadUInt32();
MODE = rr.ReadUInt16();
ERROR = rr.ReadUInt16();
KEYSIZE = rr.ReadUInt16();
KEYDATA = rr.ReadBytes(KEYSIZE);
OTHERSIZE = rr.ReadUInt16();
OTHERDATA = rr.ReadBytes(OTHERSIZE);
}
示例10: RecordTSIG
public RecordTSIG(RecordReader rr)
{
ALGORITHMNAME = rr.ReadDomainName();
TIMESIGNED = rr.ReadUInt32() << 32 | rr.ReadUInt32();
FUDGE = rr.ReadUInt16();
MACSIZE = rr.ReadUInt16();
MAC = rr.ReadBytes(MACSIZE);
ORIGINALID = rr.ReadUInt16();
ERROR = rr.ReadUInt16();
OTHERLEN = rr.ReadUInt16();
OTHERDATA = rr.ReadBytes(OTHERLEN);
}
示例11: RecordSIG
public RecordSIG(RecordReader rr)
{
TYPECOVERED = rr.ReadUInt16();
ALGORITHM = rr.ReadByte();
LABELS = rr.ReadByte();
ORIGINALTTL = rr.ReadUInt32();
SIGNATUREEXPIRATION = rr.ReadUInt32();
SIGNATUREINCEPTION = rr.ReadUInt32();
KEYTAG = rr.ReadUInt16();
SIGNERSNAME = rr.ReadDomainName();
SIGNATURE = rr.ReadString();
}
示例12: RR
public RR(RecordReader rr)
{
TimeLived = 0;
NAME = rr.ReadDomainName();
Type = (DNSType)rr.ReadShort();
Class = (Class)rr.ReadShort();
TTL = rr.ReadInt();
RDLENGTH = rr.ReadShort();
//Console.WriteLine("RDLENGTH : " + RDLENGTH.ToString());
RECORD = rr.ReadRecord(Type);
//Console.WriteLine("Type : " + Type.ToString());
RECORD.RR = this;
//Console.WriteLine("TTL=" + TTL + ".");
if (TTL <= 0)
{
TTL = MIN_TTL;
}
}
示例13: RecordMR
public RecordMR(RecordReader rr)
{
NEWNAME = rr.ReadDomainName();
}
示例14: RecordCNAME
public RecordCNAME(RecordReader rr)
{
CNAME = rr.ReadDomainName();
}
示例15: RR
public RR(RecordReader rr)
{
TimeLived = 0;
NAME = rr.ReadDomainName();
Type = (Type)rr.ReadUInt16();
Class = (Class)rr.ReadUInt16();
TTL = rr.ReadUInt32();
RDLENGTH = rr.ReadUInt16();
RECORD = rr.ReadRecord(Type);
RECORD.RR = this;
}