Итак, я собираю это приложение для сокетов, и оно прекрасно работает на моем компьютере. Но когда я запускаю серверный сокет на другом ноутбуке, он просто вылетает из-за неверной ошибки начального байта:
Как правильно закодировать программу для работы со всеми ноутбуками
Это ошибка, которую я получаю:
Другие ноутбуки .
Мой ноутбук .
Я пытался изменить кодировку, но я просто не совсем уверен, где мне нужно это изменить.
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)
Я хочу, чтобы он работал и на других ноутбуках, и я просто не понимаю, почему это не так.