#服务器
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())