这一切都是在一小时前和很多天前完成的.我尝试ping的链接是:
链接到ping
这是form1中的代码:
nc = new NetworkConnection(); bool bval = nc.PingConnection(satellite_address); if (bval) { label19.Visible = true; label19.Text = "Internet Access"; } else { label19.Visible = true; label19.Text = "No Internet Access"; }
当它试图执行此行时:
bool bval = nc.PingConnection(satellite_address);
它会nc
上课:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.NetworkInformation; using System.IO; using System.Windows.Forms; namespace mws { class NetworkConnection { public NetworkConnection() { } public bool PingConnection(string url) { bool Result = false; using (Ping pp = new Ping()) { byte[] buffer = Encoding.ASCII.GetBytes("samplestring"); int timeout = 120; try { PingReply reply = pp.Send(url, timeout, buffer); if (reply.Status == IPStatus.Success) Result = true; } catch (Exception) { Result = false; } } return Result; } } }
在尝试执行该行时在nc类中:
PingReply reply = pp.Send(url, timeout, buffer);
它跳转到catch块并抛出PingException:
Ping请求期间发生异常
然后在Form1中它返回的结果是没有互联网访问,但有互联网,我可以冲浪到网址没有问题.
这是完整的异常消息:
System.Net.NetworkInformation.PingException was caught HResult=-2146233079 Message=An exception occurred during a Ping request. Source=System StackTrace: at System.Net.NetworkInformation.Ping.Send(String hostNameOrAddress, Int32 timeout, Byte[] buffer, PingOptions options) at System.Net.NetworkInformation.Ping.Send(String hostNameOrAddress, Int32 timeout, Byte[] buffer) at mws.NetworkConnection.PingConnection(String url) in d:\C-Sharp\Download File\Downloading-File-Project-Version-012\Downloading File\NetworkConnection.cs:line 33 InnerException: System.Net.Sockets.SocketException HResult=-2147467259 Message=No such host is known Source=System ErrorCode=11001 NativeErrorCode=11001 StackTrace: at System.Net.Dns.GetAddrInfo(String name) at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6) at System.Net.Dns.GetHostAddresses(String hostNameOrAddress) at System.Net.NetworkInformation.Ping.Send(String hostNameOrAddress, Int32 timeout, Byte[] buffer, PingOptions options) InnerException:
第33行是:
PingReply reply = pp.Send(url, timeout, buffer);
这个例外出现的原因是什么?它之前没有显示我的程序现在为一些yeras工作.
我应该怎样或怎么处理它?