计算机网络作业问题
public string GetLocalIPV4()
{
IPAddress[] ips = Dns.GetHostEntry(Dns.GetHostName()).AddressList; //遍历获得的IP集以得到IPV4地址
foreach (IPAddress ip in ips)
{ //筛选出IPV4地址
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
return ip.ToString();
}
} //如果没有则返回IPV6地址
return ips[0].ToString();
}
IPAddress ip = IPAddress.Parse(GetLocalIPV4());
IPEndPoint ipe = new IPEndPoint(ip,port);//把ip和端口转化为 IPEndPoint实例
然后运行时出现:- ScopeId “ip.ScopeId”引发了“System.Net.Sockets.SocketException”类型的错误,请问如何消除啊
如果我写成:IPAddress ip= IPAddress.Parse(Dns.GetHostAddresses(Dns.GetHostName())[0].ToString());
IPEndPoint ipe = new IPEndPoint(ip,port);//把ip和端口转化为 IPEndPoint实例
则会出现这种错误:
Address “ip.Address”引发了“System.Net.Sockets.SocketException”类型的异常 long {System.Net.Sockets.SocketException}