我正在尝试使用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服务器。 谢谢。
答案 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