python 实现 TCP 服务器最简流程
流程思路
- 确定服务器需要监听的 IP 地址和端口
- 启动监听并设置最大连接数
- 让服务器进入主循环中,并等待被连接
- 当一个客户端成功连接的时候
- 将接收到的客户端套接字对象保存到
client
变量中 - 将远程连接的细节保存到
addr
变量中
- 将接收到的客户端套接字对象保存到
- 以
handle_client
为回调函数创建一个新的线程对象,将客户端套接字对象作为一个句柄传递给它 - 启动线程开始处理客户端连接
import socket
import threading
bind ip = "0.0.0.0"
bind port = 9999
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(bind_ip, bind_port)
server.listen(5)
print("[*] Listening on %s:%d" % (bind_ip, bind_port))
def handle_client(client_cocket):
request = client socket.recv(1024)
print("[*] Received: %s" % request)
client_socket.send("ACK!")
client_socket.close()
while True:
client, addr = server.accept()
print("[*] Accept connection from: %s:%d" % (addr[O], addr[1]))
client_handler = threading.Thread(target=handle_client, args=(client,))
client_handler.start()
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由 Galois
于 4年前 解除加精