告别官网龟速!国内用户快速下载CoppeliaSim全版本合集(含VREP历史版本)的实战经验
2026/6/6 20:33:07
本文彻底搞懂Socket 网络编程 C/S 架构中最容易混淆的知识点:服务端与客户端到底谁需要知道谁的 IP 和端口?
不需要双方都知道!在 Socket 套接字 C/S(客户端 / 服务端)架构中:
服务端的工作模式是被动等待连接:
核心代码逻辑:
cpp
运行
// 1. 服务端只绑定自己的 IP 和端口 bind(server_fd, (struct sockaddr *)&server_addr, sizeof(server_addr)); // 2. 开始监听,等待客户端连接 listen(server_fd, 5); // 3. 客户端连接时,自动获取客户端 IP/端口 accept(server_fd, (struct sockaddr *)&client_addr, &addr_len);客户端的工作模式是主动发起连接:
核心代码逻辑:
cpp
运行
// 客户端必须指定:服务器IP + 服务器端口 connect(client_fd, (struct sockaddr *)&server_addr, sizeof(server_addr));表格
| 角色 | 需要知道服务端 IP + 端口? | 需要知道客户端 IP + 端口? |
|---|---|---|
| 服务端 | ❌ 不需要 | ❌ 不需要(连接时自动获取) |
| 客户端 | ✅必须知道 | ❌ 不需要 |
plaintext
客户端找服务端,必须知道 IP + 端口 服务端等连接,不用管客户来自哪