У меня есть клиент Python TCP, который делает запрос к серверу TCP в C ++. У меня нет доступа к серверу, поэтому я не могу изменить код на серверной части.
Проблема в том, что иногда запрос, сделанный клиентом, не получает никаких данных серверной части, поэтому программа блокируется в строке data = sock.recv(1024)
.
Поэтому мне интересно, как я могу решить эту проблему. Я попытался поставить условную строку после этой строки, если не получены данные, но я не могу пройти строку data = sock.recv(1024)
.
try:
data = sock.recv(12) # this always gets data, it is a message send by the server that verifies the connection is alright
print("Received: ", ":".join("{:02x}".format(c) for c in data))
data = sock.recv(1024)
print("Received: ", ":".join("{:02x}".format(c) for c in data))
except IOError as e:
pass