将IP地址转换为字节数组C#

时间:2012-03-08 16:20:49

标签: c# networking network-programming

我正在尝试使用Ping类基于IP地址和端口ping服务器, 我必须将IP地址转换为字节数组,我该怎么做? 我从某个地方采用这种方法

 bool IsConnectedToInternet
    {
        get
        {
            Uri url = new Uri("www.abhisheksur.com");
            string pingurl = string.Format("{0}", url.Host);
            string host = pingurl;
            bool result = false;
            Ping p = new Ping();
            try
            {

                PingReply reply = p.Send(host, 3000);
                if (reply.Status == IPStatus.Success)
                    return true;
            }
            catch { }
            return result;
        }
    }

我只需要根据IP而不是URL来ping服务器。 谢谢。

4 个答案:

答案 0 :(得分:1)

你能不能这样做:

public static bool IsConnectedToInternet
{
    get
    {
        using (var ping = new Ping())
        {
            try
            {
                var reply = ping.Send("173.194.41.168", 3000);
                return reply.Status == IPStatus.Success;
            }
            catch
            {
                return false;
            }
        }
    }
}

答案 1 :(得分:1)

虽然您的代码段不需要,但这里是您帖子标题中问题的答案:

您可以使用System.Net.Dns.GetHostAddresses("www.abhisheksur.com")获取代表主机地址的IPAdresses个对象数组。然后,您可以在单个GetAddressBytes()对象上调用IPAddress,将其转换为字节数组。

答案 2 :(得分:0)

尝试使用Ping.Send

的文档

答案 3 :(得分:0)

使用IPAddress类和Ping.Send(IPAddress地址)方法。如果您尝试从IPAddress转换为字节,它提供了方便的hosttonetwork和networktohost方法。

http://msdn.microsoft.com/en-us/library/system.net.ipaddress.aspx

http://msdn.microsoft.com/en-us/library/hb7xxkfx.aspx