import socketserver 模块 (27-03)
使用socketserver实现并发聊天
服务端可以比喻做一部电话。
("127.0.0.1", 8000) 比喻做服务端的一个号码。
1,server.py
import socketserver
class MyServer(socketserver.BaseRequestHandler):
def handle(self): # 逻辑代码
print("服务器启动...")
while True:
conn = self.request # self.request相当于电话里面的一个号码
print("有客户端连接ip与端口号:", self.client_address)
while True:
client_data = conn.recv(1024) # 收
print(str(client_data, 'utf8'))
inp = input('>>:')
conn.sendall(bytes(inp, 'utf8')) # 发
conn.close()
if __name__ == "__main__':
server = socketserver.ThreadingTCPServer(('127.0.0.1', 8000), MyServer) # 执行连接
server.serve_forever() # 执行def handle(self)逻辑代码
2, client.py
import socket
sk = socket.socket()
address = ("127.0.0.1", 8000) # 连接服务端的ip地址与端口号
sk.connect(address)
while True:
inp = input(">>:") # 发
sk.sendall(bytes(inp, 'utf8'))
data = sk.recv(1024) # 收
print(str(data, 'utf8))