socketserver内置模块

socketserver内置模块

  • socketserver模块是一个内置模块,主要解决的是socket只能一对一, 不能多对多通信的问题,设置在服务端,不是客户端。
  • 基本格式为:
    • 导入:import socketserver
    • 创建类class Mysocket(socketserver.BaseRequestHandler)
      • 创建类方法:handle,注意:方法名必须是handle
      • self.request等同于socket中的conn,用法完全一样
      • 在方法里编写server的代码
    • 申请资源:server = socketserver.TCPServer(('ip地址',端口号))
    • 开启一个永久性的服务:server.serve_forever()
  • 客户端代码逻辑不变
import socketserver

class Mysocket(socketserver.BaseRequestHandler):
    def handle(self):
        # 方法名必须是handle,其他的名字不行
        '''收发的逻辑代码'''
        msg =  self.request.recv(1024).decode('utf-8')
        self.request.send(msg.upper().encode('utf-8'))
        
    
server = socketserver.TCPServer(('172.16.12.167', 8081), Mysocket)
# 固定的格式
server.serve_forever()
# 开启一个永久的服务

猜你喜欢

转载自www.cnblogs.com/ddzc/p/12395260.html