#!/usr/bin/env python
# -*- coding: utf-8 -*-
from BaseHTTPServer import BaseHTTPRequestHandler
from BaseHTTPServer import HTTPServer
from SocketServer import ForkingMixIn
'''
关键:
1 BaseHTTPServer.HTTPServer(server_address, RequestHandlerClass)
含义: 是SocketServer.TCPServer子类
函数:
TCPServer(BaseServer).__init__(self, server_address, RequestHandlerClass, bind_and_activate=True)
参数:
server_address:是一个元组,(host, port)
RequestHandlerClass: 请求处理类,可继承自BaseHTTPServer.BaseHTTPRequestHandler的对象
处理过程: 创建和监听HTTP的socket,分发请求到一个处理器
2 SocketServer.ForkingMixIn()
含义: SocketServer模块简化了网络服务器的写任务,ForkingMixIn可以创建
一个单独的进程或线程来处理每个请求。
本质: 让单进程服务器变为多进程服务器。每次处理用户请求会开启新的进程。
支持异步模型。实际是采用多进程(分叉)实现异步。
类似得: ThreadingMixIn 利用多线程实现异步。
好处:
1 实现异步,2支持多连接。
所以ForkingMixIn实际是核心。
3 BaseHTTPServer.BaseHTTPRequestHandler(request, client_address, server)
含义: 这个类用于处理HTTP请求。它必须被子类继承来处理每隔请求方法。
例如(G
python 64式: 第19式、异步多连接socket通信服务端
最新推荐文章于 2023-05-08 22:12:12 发布
本文深入探讨Python的异步socket编程,重点讲述如何实现多连接服务端,通过asyncio库处理并发请求,提升服务器性能。内容包括异步编程基础、async/await关键字的使用以及异步socket服务端的完整示例代码。
摘要由CSDN通过智能技术生成