一. 简介
本文简单学习一下 TCP网络通信,主要情况为:TCP网络通信过程中,服务器重启失败,可能提示 Address already in use(EADDRINUSE 错误。
二. TCP网络通信中 setsockopt()函数解决地址已占用问题
- TCP网络通信中地址已占用问题
在TCP通信中的服务器端设置
int opt = 1;
setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
这段代码的核心作用是 设置 TCP 套接字的 SO_REUSEADDR 选项,允许同一端口被重复绑定(解决 "地址已在使用" 的报错),是 TCP 服务器开发中(尤其是嵌入式 Linux / 网络编程)的高频必备代码。