當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。