python 64式: 第19式、异步多连接socket通信服务端

本文深入探讨Python的异步socket编程,重点讲述如何实现多连接服务端,通过asyncio库处理并发请求,提升服务器性能。内容包括异步编程基础、async/await关键字的使用以及异步socket服务端的完整示例代码。
摘要由CSDN通过智能技术生成
#!/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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值