添加代码
这是个很常见的问题:在bind函数之前添加如下代码即可。
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端口
$ 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