from socket import *
from multiprocessing import Process
# tcp socket服务器
def handle_client(clientSocket): #生成的客户端传给函数,用来处理数据和用它接收和发送数据
"""处理客户端请求"""
# 获取客户端请求数据
# request_data = client_socket.recv(1024)
request_data = clientSocket.recv(1024)
print("request data:", request_data)
# 构造响应数据
response_start_line = "HTTP/1.1 200 OK\r\n"
response_headers = "Server: My server\r\n"
response_body = "hello itcast"
response = response_start_line + response_headers + "\r\n" + response_body
print("response data:", response)
# 向客户端返回响应数据
clientSocket.send(bytes(response, "utf-8"))
# 关闭客户端连接
clientSocket.close()
if __name__ == '__main__':
tcp_socket = socket(AF_INET, SOCK_STREAM) #创建tcp套接字
tcp_socket.bind(("", 8001)) #绑定断口8001
tcp_socket.listen(128) # 监听队列。大小128
# #clientSocket 表示这个新的客户端
# #clientInfo 表示这个新的客户端的ip以及port
while True:
clientSocket,client_address = tcp_socket.accept() #接收连接,生成客户端
print("[%s,%s]用户连接上了"%client_address)
p = Process(target=handle_client, args=(clientSocket,)) #创建进程
p.start()
clientSocket.close()#关闭生成的客户端,方便下次调用
本地请求服务器,返回静态数据(socket+process实现)
最新推荐文章于 2023-06-14 08:56:35 发布