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
必须筛选出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
相关文章推荐
- 网络 socket 编程 端口 大全
- could not install *smartsocket* listaner cannot bind to 127.0.0.1:5037: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次
- ServerSocket通过构造方法绑定端口
- Linux内核网络协议栈5-socket端口管理
- PHP socket 绑定随机端口
- SOCKET绑定时,端口和地址为0解析
- Linux 网络编程一步一步学(二)-绑定IP 和端口
- Linux网络编程——端口复用(多个套接字绑定同一个端口)
- Docker入门之网络端口的绑定
- c# winform socket网络编程,点对点传输文件,socket文件传输,监听端口
- c# winform socket网络编程,点对点传输文件,socket文件传输,监听端口
- 网络通信及python终端书写,tcp/ip协议/端口/socket(套接字)
- 网络端口号的绑定,以及分类
- Java ServerSocket 绑定随机端口
- 端口的分类及用socket建立连接时client端为什么不建议绑定
- 【幻化万千戏红尘】qianfengDay23-java基础学习:网络编程、TCP IP协议、端口Socket、ServerSocket
- linux c socket之多路复用:绑定多个端口
- 网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结
- c# winform socket网络编程,点对点传输文件,socket文件传输,监听端口
- SOCKET accept后端口与listen绑定端口相关备注