コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
 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;
             }
         }
     }
 }
コード例 #4
0
ファイル: DnsServer.cs プロジェクト: mingyaaaa/SAEA
 /// <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)
 {
 }
コード例 #5
0
ファイル: DnsServer.cs プロジェクト: mingyaaaa/SAEA
 /// <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))
 {
 }
コード例 #6
0
ファイル: DnsServer.cs プロジェクト: mingyaaaa/SAEA
 /// <summary>
 /// DnsServer
 /// </summary>
 /// <param name="dnsRecords"></param>
 /// <param name="parentServer"></param>
 public DnsServer(DnsRecords dnsRecords, IPEndPoint parentServer) :
     this(new FallbackRequestCoder(dnsRecords, new UdpRequestCoder(parentServer)))
 {
 }