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()

 

posted @ 2019-10-22 12:21  LBC不认输  阅读(93)  评论(0编辑  收藏  举报