是否可以在具有相同 IP 的不同端口上的同一源文件中同时调用 listen(scokfd1) 和 connect(sockfd2)
非常感谢, AB
是的。事实上,这很常见,当我们在本地测试网络应用程序时(即使用 IP 地址 127.1,localhost)。
对于每个地址族(IPv4/IPv6),TCP 为每个主机维护 64K 端口。因此,从这些端口中选择两个端口,一个用于侦听,一个用于连接应该可以正常工作。请注意,如果您不发出 bind(sockfd2),则 connect(sockfd2) 将隐式分配一个临时端口(来自 64K 池)。主要的是,对于 TCP,4 元组(src_ip、src_port、dest_ip、dest_port)应该是唯一的。