我在没有网络连接的本地计算机上使用套接字进行测试,如下所示:
那么,
IPAddress address = IPAddress.Any; // doesn't work
IPAddress address = IPAddress.Parse("::1"); // works
那么,
::1
IP地址到底是什么?它是默认可用的IP地址还是环回地址?在具有专用IP地址和网络连接的计算机上,上述代码(工作行)会发生什么?编辑:确切的代码用于将特定IP地址绑定到套接字。这是它:ServicePoint sp = ServicePointManager.FindServicePoint(uri);
sp.BindIPEndPointDelegate = new BindIPEndPoint(Bind);
// here's the bind delegate:
private IPEndPoint Bind(ServicePoint sp, IPEndPoint ep, int retryCount)
{
return new IPEndPoint(IPAddress.Parse("::1"), 0);
}
IPAddress.Any
意为::0
,应使用IPAddress.Loopback
来进行本地(回环)连接。 - J-16 SDiZIPAddress.Pars
部分实际上是IPAddress.Parse
,对吗? - Brad