您的位置:首页 > 理论基础 > 计算机网络

Socket绑定网络端口

2013-05-21 14:13 134 查看
用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;

}

}



//创建一个网络端点

IPEndPoint iep = new IPEndPoint(HostIp, 82);

//创建服务端服务端套接字

Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

//将套接字与网络端点绑定

serverSocket.Bind(iep);

//将套接字置为侦听状态,并设置最大队列数为10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: