为了账号安全,请及时绑定邮箱和手机立即绑定

看看哪出问题了,做到把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'

----------------------------------------


正在回答

3 回答

 第一个data = client.recv(1024)放在循环前面

0 回复 有任何疑惑可以回复我~

conn.send(str(random.randint(1.1000)).encode())
改:
conn.send(str(random.randint(1,1000)).encode())

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

看看哪出问题了,做到把msg编码问题解决了后,运行后服务器端就报错了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信