看看哪出问题了,做到把msg编码问题解决了后,运行后服务器端就报错了
#服务器 import socketserver import random class MyServer(socketserver.BaseRequestHandler): def setup(self): pass def handle(self): conn = self.request msg = "Hello World!" conn.send(msg.encode()) while True: data = conn.recv(1024) print(data.decode()) if data == b'exit': break conn.send(data) conn.send(str(random.randint(1.1000)).encode()) conn.close() def finish(self): pass if __name__ == "__main__": server = socketserver.ThreadingTCPServer(("127.0.0.1", 8888), MyServer) server.serve_forever() #客户端 import socket client = socket.socket() ip_port = ("127.0.0.1", 8888) client.connect(ip_port) while True: data = client.recv(1024) print(data.decode()) msg_input = input("请输入发送的消息:") client.send(msg_input.encode()) if msg_input == "exit": break data = client.recv(1024) print(data.decode())
#报错
Exception happened during processing of request from ('127.0.0.1', 60018)
Traceback (most recent call last):
File "D:\Python3\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "D:\Python3\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "D:\Python3\lib\socketserver.py", line 720, in __init__
self.handle()
File "D:/python项目/s1.py", line 18, in handle
conn.send(str(random.randint(1.1000)).encode())
TypeError: randint() missing 1 required positional argument: 'b'
----------------------------------------