我希望创建一个使用套接字的TCP服务器,绑定到IPv4和IPv6地址。是否有一种方法可以在不创建2个套接字的情况下实现呢?
socket.create_server()
轻松实现。dualstack_ipv6=True
将允许您在支持的系统上使用同一套接字侦听IPv4和IPv6地址。socket.has_dualstack_ipv6()
。
import socket
addr = ("", 8080) # all interfaces, port 8080
if socket.has_dualstack_ipv6():
s = socket.create_server(addr, family=socket.AF_INET6, dualstack_ipv6=True)
else:
s = socket.create_server(addr)
socket.create_server()
创建的是一个 TCP 套接字,不能用于 UDP。 - undefined