#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)
И когда я запускаю его, возникает ошибка. Что я делаю не так? Я был бы признателен за любую помощь.