Python Python 实用教程 100 例 -- 基于 socket 提供网络服务

打工人 · 2022年06月25日 · 2875 次阅读
# 脚本名称:基于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()

访问样例:

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册