Моя функция reliable_receive () не зацикливается на моем коде, как я ожидал, чтобы надежно получать данные с моего сервера, я включил операторы печати, чтобы я мог видеть поток кода, и текущий вывод - «шаг 1,шаг 2, шаг 3, шаг 5, шаг 2 ". Так что мой код перебирает функцию, но ничего не делает, когда возвращается, чтобы получить больше данных, не выдает никаких ошибок и не активирует условное «если нет», как я ожидал. Любая помощь будет оценена.
def reliable_receive():
global client_socket
fragments = []
print("step 1")
while True:
try:
print("step 2")
received_data = client_socket.recv(2048)
print("step 3")
if not received_data:
print("step 4")
break
fragments.append(received_data)
print("step 5")
except Exception as generic_error:
print("step 6")
print(generic_error)
packed_data = b"".join(fragments)
print("step 7")
unpacked_data = unpack(packed_data)
print("step 8")
return unpacked_data