服务器出现Address already in use(地址占用)错误怎么处理——【Linux】
服务器代码调用出现Address already in use(地址占用)错误怎么处理
首先出现这种问题的原因是因为服务器频繁调用,导致前一个服务器运行没有完全结束,地址被占用,下一次调用该地址时候,显示地址被占用了。
如何解决
这里提供两个方法:
第一个方法
第一个方法也就是最蠢的方法就是关闭终端后,等待几分钟后,出现打开终端然后运行服务器代码
第二个方法
第二个方法就是在服务器bind()函数调用前加上一段以下代码,就可以避免这个地址调用问题了。
//端口复用 避免出现 address already is use
int opt_val = 1;
setsockopt(socketfd, SOL_SOCKET, SO_REUSEADDR, (const void*)&opt_val, sizeof(opt_val));