服务器代码调用出现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));

Logo

更多推荐