bind() 函数是 Socket 编程中用于将套接字绑定到一个地址(IP 地址和端口号)上的函数。以下是如何正确使用 bind() 函数的步骤:
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
这里,socket.AF_INET 表示使用 IPv4 地址族,socket.SOCK_STREAM 表示使用 TCP 协议。根据你的需求,你也可以选择其他地址族(如 socket.AF_INET6 用于 IPv6)和协议(如 socket.SOCK_DGRAM 用于 UDP)。
ip_address = "127.0.0.1" # 要绑定的 IP 地址,可以是本地地址(如 "127.0.0.1")或外部地址(如 "0.0.0.0")
port = 12345 # 要绑定的端口号
bind() 函数将套接字绑定到地址:sock.bind((ip_address, port))
这将把套接字 sock 绑定到 ip_address 和 port 上。如果绑定成功,bind() 函数会返回 None,否则会抛出一个异常。
sock.setblocking(False)
这将使套接字在等待连接时变为非阻塞模式。在非阻塞模式下,accept() 和 connect() 等函数会立即返回,而不是阻塞等待。
sock.listen(5)
这将把套接字设置为监听模式,以便接受传入的连接。5 是队列中允许的最大挂起连接数。
现在,你的套接字已经绑定到一个地址,并准备好接受传入的连接。你可以使用 accept() 函数来接受客户端的连接请求。