我想自动检测服务器端的空闲端口
只需将bind()您的侦听 TCP 套接字连接到端口 0。操作系统将为您选择一个可用端口。然后您可以使用getsockname()来检索所选的端口。
让客户端知道相同的端口(连接到服务器)。
您必须将选定的 TCP 侦听端口发布到客户端可以在需要时查询的地方。
如果客户端和服务器位于同一网络子网上,一种简单的解决方案是让服务器在固定端口上打开一个单独的侦听 UDP 套接字,然后让客户端向该端口上的子网广播 IP 发送 UDP 广播。当服务器收到广播时,它可以向客户端发送指定 TCP 侦听端口的回复。然后客户端可以通过该端口连接到 TCP 服务器。