Linux - 报错“Address already in use”解决方案
报"Address already in use",如下图所示:

错误原因:某程序正在使用端口。(这里我使用的是端口“8888”)
可以通过命令查看所有正在使用的端口:
netstat -tunllp
解决方案1
1.找到占用该端口的进程号
使用命令:
sudo netstat -anp|grep "8888" (端口号)
可以看到进程号为 8888 的 server_thread 进程正在使用它,进程id为:100188

2.终止该进程
使用命令:
kill -9 100188(进程号)

解决方案2
使用setsocketopt()函数,设置端口复用。

//设置端口复用
int opt = 1;
if(setsockopt(fd,SOL_SOCKET,SO_REUSEPORT | SO_REUSEADDR, &opt, sizeof(opt)))
{
perror("setsockopt failed!");
}

浙公网安备 33010602011771号