# 脚本名称:基于socket提供网络服务
# 应用场景:提供简易网络服务,用于外部主机访问
# 名词解释:socket(套接字)应用程序通常通过“套接字”向网络发出请求或者应答网络请求,使主机间可以通信
from multiprocessing import Process
import socket
def socket_server(client):
"""
socket服务端
"""
client.recv(1024)
# 构造响应数据,其中data可以是业务数据
response1 = "HTTP/1.1 200 ok\r\n"
data = "test data 1, test data 2, test data 3"
response = response1 + "\r\n" + data
# 向客户端访问响应数据
client.send(response.encode())
# 关闭客户端连接
client.close()
if __name__ == '__main__':
# 创建套接字
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# socket绑定host、port
server.bind(("127.0.0.1", 59999))
# 客户端最大连接数,超过则等待处理
server.listen(3)
while True:
# 建立客户端连接
client_socket, client_address = server.accept()
handle_process = Process(target=socket_server, args=(client_socket, ))
handle_process.start()
client_socket.close()
访问样例: