bind failed: Address already in use

添加代码

这是个很常见的问题:在bind函数之前添加如下代码即可。

cpp 复制代码
    int yes = 1;  
    if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)) == -1) {  
        perror("setsockopt");  
        exit(1);  
    } 

查看端口

如果还是不能结果,那么说明是真的冲突了,例如查看当前UDP ipv4使用的端口号,如下所示:如果发现端口已被使用,则kill掉相关进程,或者使用其他的端口号

netstat -a4un //查看UDP端口

netstat -a4tn //查看TCP端口

bash 复制代码
$ netstat -a4un
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 0.0.0.0:37745           0.0.0.0:*
udp        0      0 0.0.0.0:5353            0.0.0.0:*
udp        0      0 0.0.0.0:55408           0.0.0.0:*
udp        0      0 0.0.0.0:48385           0.0.0.0:*
udp        0      0 127.0.0.53:53           0.0.0.0:*
udp        0      0 0.0.0.0:69              0.0.0.0:*
udp        0      0 0.0.0.0:111             0.0.0.0:*
udp        0      0 0.0.0.0:620             0.0.0.0:*
udp        0      0 0.0.0.0:631             0.0.0.0:*
udp        0      0 0.0.0.0:59068           0.0.0.0:*
udp        0      0 192.168.0.11:9990       192.168.0.3:37143       ESTABLISHED
udp        0      0 0.0.0.0:42876           0.0.0.0:*
udp        0      0 0.0.0.0:2049            0.0.0.0:*
bash 复制代码
$ netstat -a4tn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:6012          0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:6013          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:56063           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:37699           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:37195           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:48533           0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
tcp        0      0 192.168.0.11:22         192.168.0.5:60730       ESTABLISHED
tcp        0      0 192.168.0.11:2049       192.168.0.3:730         ESTABLISHED
tcp        0      0 192.168.0.11:22         192.168.0.5:57805       ESTABLISHED
tcp        0      0 192.168.0.11:22         192.168.0.5:53147       ESTABLISHED
tcp        0      0 192.168.0.11:22         192.168.0.5:57305       ESTABLISHED
tcp        0      0 192.168.0.11:22         192.168.0.5:54349       ESTABLISHED
tcp        0      0 192.168.0.11:22         192.168.0.5:53241       ESTABLISHED
tcp        0      0 192.168.0.11:22         192.168.0.5:60727       ESTABLISHED
tcp        0      0 192.168.0.11:22         192.168.0.5:57306       ESTABLISHED
tcp        0      0 192.168.0.11:22         192.168.0.5:56891       ESTABLISHED
tcp        0      0 192.168.0.11:22         192.168.0.5:54348       ESTABLISHED
tcp        0      0 192.168.0.11:22         192.168.0.5:56892       ESTABLISHED
tcp        0      0 192.168.0.11:22         192.168.0.5:57405       ESTABLISHE

小结

相关推荐
qiuiuiu4138 分钟前
正点原子RK3568学习日志-编译第一个驱动程序helloworld
linux·c语言·开发语言·单片机
周之鸥22 分钟前
从零部署 Astro 静态网站到云服务器(含 HTTPS 一键配置)
运维·服务器·ubuntu·http·https·astro
林开落L29 分钟前
线程进阶:线程池、单例模式与线程安全深度解析
linux·安全·单例模式·线程池
Microsoft Word34 分钟前
跨平台向量库:Linux & Windows 上一条龙部署 PostgreSQL 向量扩展
linux·windows·postgresql
noravinsc1 小时前
centos如何做的时间同步
linux·运维·centos
木亦汐丫2 小时前
Docker 镜像版本Alpine、Slim、Bookworm、Bullseye、Stretch、Jessie
运维·docker·容器·debian·alpine·slim·bullseye
kyle~2 小时前
Qt---setAttribute设置控件或窗口的内部属性
服务器·前端·c++·qt
李元豪2 小时前
919服务器巡检
运维·服务器·servlet
迎風吹頭髮2 小时前
Linux内核架构浅谈25-Linux实时调度器:SCHED_RR与SCHED_FIFO策略实现
linux·运维·架构
李辰洋3 小时前
STP配置
运维·服务器·网络