socketserver模块简介

1、 socketserver模块简介

在python的socket编程中,实用socket模块的时候,是不能实现多个连接的,当然如果加入其

它的模块是可以的,例如select模块,在这里见到的介绍下socketserver模块。

socketserver,看其名字,就知道是一个socket的服务器模块的使用,在这个模块中,主要也就

是实现服务器类的相关功能,在其中,也就是将socket模块和select模块进行了封装,从而创建

了一些基类供人使用。

2、 socketserver服务器端和客户端代码

在socketserver模块中,主要就是使用一些服务器类,从而简化socket网络编程的方法,

先上一段基本的服务器代码:

import socketserver

class MyTCPHandler(socketserver.BaseRequestHandler):
    def handle(self):
        print('=====>',self.request)  # self.request is conn
        while True:
            data = self.request.recv(1024)
            self.request.send(data.upper())

if __name__ == '__main__':
    server = socketserver.ThreadingTCPServer(('127.0.0.1',8090),MyTCPHandler)
    server.serve_forever()

客户端

from socket import *

client = socket()
client.connect(('127.0.0.1',8090))

while True:
    msg = input('>>:').strip()
    if not msg:continue
    client.send(msg.encode('utf-8'))
    data = client.recv(1024)
    print(data.decode('utf-8'))

总结:

python中的socketserver模块,主要是用来提供服务器类,并且提供异步处理的能力。

原文地址:https://www.cnblogs.com/jassin-du/p/7995446.html