服务端
import socketserver
# 总共三步:
#1、自定义功能类,必须继承 socketserver.BaseRequestHandler,必须有方法handle
class MyServer(socketserver.BaseRequestHandler):
def handle(self):
while True:
try:
data = self.request.recv(1024)
self.request.send(data.upper())
except ConnectionResetError:
break
self.request.close()
# 2、实例化对象,参数是端口地址和自定义功能类
# socketserver.ThreadingTCPServer(('127.0.0.1', 8080),MyServer)
server = socketserver.ThreadingTCPServer(('127.0.0.1', 8080),MyServer)
# 3、调用 serve_forever()
server.serve_forever()
客户端
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
client.connect(('127.0.0.1', 8080))
while True:
msg = input(':').strip()
if not msg: continue
client.send(msg.encode('utf-8'))
data = client.recv(1024)
print(data.decode('utf-8'))
client.close()