我在C#应用程序中遇到了一个非常恼人的问题。出于某种原因,此代码导致System.Net.Sockets.SocketException结果: "没有这样的主人。"和'连接'总是假的。
bool connected;
try {
Ping pinger = new Ping();
PingReply reply = pinger.Send("http://www.google.com", 15000);
connected = reply != null && reply.Status == IPStatus.Success;
} catch {
}
奇怪的是,使用命令提示符和http请求进行ping操作都会导致成功。有谁知道为什么这段代码失败了?
答案 0 :(得分:4)
它失败了,因为它将Ping pinger = new Ping();
PingReply reply = pinger.Send("www.google.com", 15000);
作为主机名的一部分,而不是协议。
Ping不使用HTTP协议,它使用ICMP。将代码更改为以下内容将解决您的问题
var poly = new google.maps.Polygon({
clickable: true,
paths: pts,
strokeColor: '#000000',
strokeOpacity: 0.3,
strokeWeight: 1,
fillColor: colour,
fillOpacity: 0.8,
title: name
});
polys.push(poly);
poly.setMap(map);