Проверка связи с доменом C # - PullRequest
2 голосов
/ 16 января 2012

пытается проверить связь с доменом и посмотреть, получу ли я код ответа, чтобы узнать, зарегистрирован ли он. получать постоянные положительные результаты из следующего кода - есть идеи?

public static string Check(string keyword)
    {
        Ping pingSender = new Ping();
        PingOptions options = new PingOptions();

        // Use the default Ttl value which is 128,
        // but change the fragmentation behavior.
        options.DontFragment = true;

        // Create a buffer of 32 bytes of data to be transmitted.
        string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
        byte[] buffer = Encoding.ASCII.GetBytes(data);
        int timeout = 120;
        PingReply reply = pingSender.Send(keyword, timeout, buffer, options);
        if (reply.Status == IPStatus.Success)
        {

            return "found";
        }
        else
        {
            return "not found";
        }
    }


    private void hunt_Click(object sender, EventArgs e)
    {
        string keyword = txtKeyword.Text;
        txtOutput.Text = Check(keyword);
    }

любая помощь приветствуется: -)

1 Ответ

0 голосов
/ 23 января 2012

эй, я запустил этот код, и он работает (исключение выдается при вводе IP-адреса или DNS), почему бы не использовать эту перегрузку?

       public static string Check(string keyword)
         {
        Ping pingSender = new Ping();
        //PingOptions options = new PingOptions();

        // Use the default Ttl value which is 128, 
        // but change the fragmentation behavior. 
       // options.DontFragment = true;

        // Create a buffer of 32 bytes of data to be transmitted. 
        //string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
        // byte[] buffer = Encoding.ASCII.GetBytes(data);
        // int timeout = 120;
        try
        {
            PingReply reply = pingSender.Send(keyword);
            return "found";
        }
        catch
        {
            return "not found";
        }


    }
...