socketserver模块

Posted god-for-speed

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了socketserver模块相关的知识,希望对你有一定的参考价值。

模块:socketserver模块(内置模块)(并发原理)
      socketserver这个模块主要是为了解决:TCP协议中,服务器不能同时连接多个客户端的问题
      而继承的这个类中的self.request等价于原来socket中的conn(conn,addr=sk.accept())      
#server层(固定形式)
import socketserver
class MySocket(socketserver.BaseRequestHandler):
    def handle(self):# 这个方法的名字是固定的,必须是这个名字
        # 收发的逻辑代码
        # self.request == conn
        msg = self.request.recv(1024).decode(utf-8)
        print(msg)
        self.request.send(msg.upper().encode(utf-8))
        
server = socketserver.TCPServer((127.0.0.1,8080),MySocket)# 固定的
server.serve_forever()# 开启一个永久性的服务


#client层
import socket
sk = socket.socket()
sk.connect((127.0.0.1,8080))

msg_s = input(>>>)
sk.send(msg_s.encode(utf-8))

print(sk.recv(1024).decode(utf-8))

sk.close()

 

以上是关于socketserver模块的主要内容,如果未能解决你的问题,请参考以下文章

数据库:socketserver模块MySQL

python网络编程 socketserver模块

八. 网络编程( socketserver 模块 初级使用)

Python-SocketServer模块

socketserver模块使用与源码分析

Python 模块 socketserver 以及 线程进程