当服务器使用阻塞式socket来监听客户端请求时,若有客户端请求连接,则服务器通过调用accept()函数接受连接请求,创建一个新的套接字来与客户端进行通信。以下是一个简单的示例代码:
import socket
HOST = '' # 表示监听所有的网络接口
PORT = 12345 # 监听的端口号
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT)) # 绑定套接字
s.listen(1) # 开始监听
conn, addr = s.accept() # 接受客户端的连接请求
with conn:
print('Connected by', addr)
while True:
data = conn.recv(1024)
if not data:
break
conn.sendall(data)
在上面的代码中,当有客户端请求连接时,accept()函数会返回一个新的套接字(conn),通过该套接字(conn)可以进行与客户端之间的通信。