主要内容:
1 . socketserver 模块 :
a : 是出于socket抽象层与应用层之间的一层, 比socket更贴近用户.
b : 主要解决问题 : tcp协议中, 服务器不能同时连接多个客户端的问题
服务器端:
import socketserver class Mysocket(socketserver.BaseRequestHandler): def handle(self): msg_c = self.request.recv(1024).decode('utf-8') print(msg_c) self.request.send(msg_c.upper().encode('utf-8')) socket = socketserver.TCPServer(('127.0.0.1',8090), Mysocket) socket.serve_forever() #开启一个永久性的服务
客户端:
import socket sk = socket.socket() sk.connect(('127.0.0.1',8090)) while 1: msg_s = input('请输入一个英文单词>>>:') sk.send(msg_s.encode('utf-8')) print(sk.recv(1024).decode('utf-8')) sk.close()
注意 :也存在一个问题 : 虽然服务器可以同时接收多个客户端发消息,但是,只能等到第一个客户端发送完了,第二个客户端再发才能接收到消息, 不能同时与多个客户端发消息.
2 . 验证身份