public async static Task InitAsync(int port = 53) { DnsRecords dnsRecords = new DnsRecords(); _server = new DnsServer(dnsRecords); //添加映射记录 dnsRecords.AddIPAddressResourceRecord("yswenli.net", "127.0.0.1"); _server.OnRequested += (sender, e) => { Console.WriteLine("[DNSServer Requested]: {0}", e.Request); }; _server.OnResponded += (sender, e) => { Console.WriteLine("[DNSServer Responded]: {0} => {1}", e.Request, e.Response); }; _server.OnErrored += (sender, e) => { Console.WriteLine("[DNSServer Errored]: {0}", e.Exception.Message); }; _server.OnListening += async(sender, e) => { Console.WriteLine("[DNSServer Listening]"); //await new DnsClient("127.0.0.1").Lookup("yswenli.net"); }; //启动dns服务 await _server.Start(port); }
public static void Init(int port = 53) { var result = false; DnsRecords dnsRecords = new DnsRecords(); _server = new DnsServer(dnsRecords); //添加映射记录 dnsRecords.AddIPAddressResourceRecord("baidu.com", "127.0.0.1"); _server.OnRequested += (sender, e) => { Console.WriteLine("[DNSServer Requested]: {0}", e.Request); }; _server.OnResponded += (sender, e) => { Console.WriteLine("[DNSServer Responded]: {0} => {1}", e.Request, e.Response); }; _server.OnErrored += (sender, e) => { Console.WriteLine("[DNSServer Errored]: {0}", e.Exception.Message); }; _server.OnListening += async(sender, e) => { result = true; Console.WriteLine("[DNSServer Listening]"); }; //启动dns服务 _server.Start(port); while (!result) { Thread.Sleep(100); } }
public EditDnsRecordDialog(DnsRecord dnsRecord, DnsRecords dnsRecords) { InitializeComponent(); //初始化父页面 mParentPage = dnsRecords; //当前正在修改的解析记录 MdnsRecord = dnsRecord; //保存完成回调 dnsRecords.OnSaveFinish += SaveFinishCallBack; DataContext = this; //选中正在编辑的dns类型 if (null != dnsRecord) { var listBoxItems = DnsTypeListBox.Items; for (var i = 0; i < listBoxItems.Count; i++) { if (((ListBoxItem)listBoxItems[i]).Content.Equals(dnsRecord.type)) { DnsTypeListBox.SelectedIndex = i; } } } }
/// <summary> /// DnsServer /// </summary> /// <param name="dnsRecords"></param> /// <param name="parentServer"></param> /// <param name="port"></param> public DnsServer(DnsRecords dnsRecords, string parentServer = "119.29.29.29", int port = DEFAULT_PORT) : this(dnsRecords, IPAddress.Parse(parentServer), port) { }
/// <summary> /// DnsServer /// </summary> /// <param name="dnsRecords"></param> /// <param name="parentServer"></param> /// <param name="port"></param> public DnsServer(DnsRecords dnsRecords, IPAddress parentServer, int port = DEFAULT_PORT) : this(dnsRecords, new IPEndPoint(parentServer, port)) { }
/// <summary> /// DnsServer /// </summary> /// <param name="dnsRecords"></param> /// <param name="parentServer"></param> public DnsServer(DnsRecords dnsRecords, IPEndPoint parentServer) : this(new FallbackRequestCoder(dnsRecords, new UdpRequestCoder(parentServer))) { }