import socketserver
class MyRequestHandle(socketserver.BaseRequestHandler):
def handle(self):
conn = self.request
print(conn)
client_addr = self.client_address
print(client_addr)
while True:
try:
msg = conn.recv(1024)
if len(msg) == 0:
break
conn.send(msg.upper())
except Exception:
break
conn.close()
# 支持并发
server = socketserver.ThreadingTCPServer(('127.0.0.1', 8080), MyRequestHandle)
# while True: [ 等同于serve_forever() ]
# conn, client_addr = server.accept()
# 每建成1个连接,就开启一个线程
server.serve_forever()
from socket import *
client = socket(AF_INET, SOCK_STREAM)
client.connect(('127.0.0.1', 8080))
while True:
msg = input('客户端:').strip()
if len(msg) == 0:
continue
client.send(msg.encode('utf-8'))
res = client.recv(1024)
print(res.decode('utf-8'))