当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python socket.create_server用法及代码示例


用法:

socket.create_server(address, *, family=AF_INET, backlog=None, reuse_port=False, dualstack_ipv6=False)

创建绑定到 address 的 TCP 套接字(一个 2 元组 (host, port) )并返回套接字对象的便利函数。

family 应该是 AF_INETAF_INET6backlog 是传递给 socket.listen() 的队列大小;当0 选择默认的合理值时。 reuse_port 指示是否设置 SO_REUSEPORT 套接字选项。

如果 dualstack_ipv6 为真并且平台支持它,则套接字将能够接受 IPv4 和 IPv6 连接,否则它将引发 ValueError 。大多数 POSIX 平台和 Windows 都应该支持此函数。启用此函数后,发生 IPv4 连接时 socket.getpeername() 返回的地址将是表示为 IPv4 映射的 IPv6 地址的 IPv6 地址。如果 dualstack_ipv6 为 false,它将在默认启用它的平台(例如 Linux)上显式禁用此函数。此参数可以与 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)

注意

在 POSIX 平台上,设置 SO_REUSEADDR 套接字选项是为了立即重用以前绑定在同一 address 上并保持 TIME_WAIT 状态的套接字。

3.8 版中的新函数。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 socket.create_server。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。