本地请求服务器,返回静态数据(socket+process实现)


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()#关闭生成的客户端,方便下次调用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值