#服务器 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'
----------------------------------------
1.1000,‘点’改为‘逗号’。‘.‘改为','
将 第一个
data
=
client.recv(
1024
)放在循环前面
conn.send(
str
(random.randint(
1.1000
)).encode())
改:conn.send(
str
(random.randint(
1,1000
)).encode())