Я пытаюсь реализовать клиент-серверную программу в python. Мой клиентский скрипт выдает ошибку, когда серверу нечего отправлять (серверу временно нечего сказать).
это часть моего клиентского кода:
def __init__(self, view, n):
self.view = view
self.n = n
self.s = socket.socket()
self.s.connect(('127.0.0.1', 8020))
try:
self.__game_request()
t1 = threading.Thread(target=self.printmsg)
t1.start()
except Exception as e:
print("some error happened")
print(e)
def printmsg(self):
while True:
try:
time.sleep(2)
msg = self.s.recv(128) # Error occurs here
if msg:
print(msg.decode())
self.s.send("You told sth".encode())
except Exception as e:
print("Error")
print(e)
self.s = socket.socket()
self.s.connect(('127.0.0.1', 8020))
self.s.send('{"type" : "oo"}'.encode())
и это часть моего код сервера:
def __init__(self,n,player1 , player2):
self.p1 = player1
self.p2 = player2
player1.send_message(("id" + str(id(self))))
player2.send_message(("id" + str(id(self))))
time.sleep(3)
player1.send_message("You R Player 1")
time.sleep(4)
player1.send_message("another")
# in this part, server has no message yet
Я получу [Errno 54] Connection reset by peer in python
на стороне клиента. сервер все еще работает. Думаю почему то не держится связь.