Python не может декодировать байт: неверный начальный байт - PullRequest
0 голосов
/ 02 апреля 2019

Итак, я собираю это приложение для сокетов, и оно прекрасно работает на моем компьютере. Но когда я запускаю серверный сокет на другом ноутбуке, он просто вылетает из-за неверной ошибки начального байта: Как правильно закодировать программу для работы со всеми ноутбуками

Это ошибка, которую я получаю: Другие ноутбуки .

Мой ноутбук .

Я пытался изменить кодировку, но я просто не совсем уверен, где мне нужно это изменить.

Class Listener:   '
 def __init__(self):
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.server_address = (socket.gethostbyname(socket.gethostname()), 10000)
        self.sock.bind(self.server_address)
        print(f"LISTENER : {str(self.server_address[0])} port {str(self.server_address[1])}")




    def listen(self):
        self.sock.listen(1)
        while True:
            print("Connection Open")
            print("     Waiting for connections")
            self.connection, self.client_address = self.sock.accept()
            try:
                print(f"Connection from {str(self.client_address)}")
                while True:
                    data = self.connection.recv(1024)
                    if data:
                        message = str(data)
                        if not "print" in message.lower(): #This just checks if the client wants to print system infomation from the server
                            Validate(message)#this checks for a command the server have to do
                        else:
                            self.connection.sendall(pickle.dumps(self.computerinfomation))
                    else:
                        self.listen()
            except Exception as e:
                print(e)

Я хочу, чтобы он работал и на других ноутбуках, и я просто не понимаю, почему это не так.

1 Ответ

1 голос
/ 02 апреля 2019

Furas пришел с решением.

Я изменил

message = str(data)

до

message = str(data, encoding="utf-8")

Я сделал то же самое на стороне клиента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...