Socket
import socket
# 创建 TCP Socket server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind(('localhost', 88990)) # 设定让多少人等待 server_socket.listen(5) # 允许最多5个等待连接 print("等待客户端连接...") # 等待连接请求的申请,有人来连接(阻塞) conn, addr = server_socket.accept() # 有人连接打印连接人地址信息 print(f"连接来自: {addr}") # 连接成功后立即发送 conn.sendall("欢迎你的到来".encode("utf-8")) # 接收数据 data = conn.recv(1024) # 接收数据(设定最大可接收字节数) print(f"收到数据: {data.decode()}")
# 响应数据
conn.send(b"HTTP/1.1 200 OK\r\n\r\n")
conn.send(b'Hello,World!') # 发送响应 conn.close() # 断开连接 server_socket.close() # 停止服务器程序
客户端代码
import socket # 向已建立连接的服务端发送连接请求 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client_socket.connect(('localhost', 88990)) client_socket.send(b'Hello, Server!') # send(data) / sendall(data):发送数据(TCP) response = client_socket.recv(1024) # recv(bufsize):接收数据(TCP) print(f"服务器响应: {response.decode()}") # 断开连接 client_socket.close()
上述两段代码完成网络通信演示,通过socket模块实现网络上的两端进行通信。