Ошибка Pickle EOFError: закончились входные данные в pygame

#python #sockets #pickle #eoferror

#python #сокеты #pickle #ошибка eoferror

Вопрос:

Я пытаюсь создать многопользовательскую игру в pygame, используя socket и pickle. До сих пор я установил серверно-сетевой файл и файл, который запускает основную игру. При попытке передать информацию tho возникает эта ошибка:

   File "D:/Coding/online game/game.py", line 24, in main
    p2 = n.send(p)
  File "D:Codingonline gamenetwork.py", line 27, in send
    return pickle.loads(self.client.recv(2048))
EOFError: Ran out of input
 

Вот мой код:

 import socket
import pickle

    class Network:
        def __init__(self):
            self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            self.server = "192.168.1.10"
            self.port = 5555
            self.addr = (self.server, self.port)
            self.p = self.connect()
            print(self.p)

    # Other stuff, not causing the error

    def send(self, data):
    try:
        self.client.send(pickle.dumps(data))
        return pickle.loads(self.client.recv(2048))
    except socket.error as e:
        print(e)
 

Затем у меня есть переменная:

 p2 = n.send(p)
 

И когда я запускаю его, возникает ошибка. Что я делаю не так? Я был бы признателен за любую помощь.