用socket绑定网络端口时候出现错误,“使用了与请求的协议不兼容的地址”。 这个错误时由于可能获取了多个IP地址,且有地址采用的是IPV6协议。
必须筛选出IPV4的地址,然后再去绑定网络端口。
代码如下:
string hostName = Dns.GetHostName(); //主机名
IPAddress[] ips = Dns.GetHostAddresses(hostName); //主机网卡的IP列表
IPAddress HostIp=ips[0]; //保存主机ip
//筛选IP
foreach (IPAddress ip in ips)
{
//筛选出IPV4地址
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
HostIp = ip;
}
}