码迷,mamicode.com
首页 > 其他好文 > 详细

socketserver内置模块

时间:2020-03-02 14:54:37      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:不能   upper   handler   永久   sock   sockets   导入   recv   enc   

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()
# 开启一个永久的服务

socketserver内置模块

标签:不能   upper   handler   永久   sock   sockets   导入   recv   enc   

原文地址:https://www.cnblogs.com/ddzc/p/12395260.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!