У меня есть сервер и клиент, настроенный на Python, и я пытаюсь вернуть клиенту подтверждающее сообщение, но, несмотря на преобразование сообщения (на стороне сервера) в виде строки, оно печатается на клиентекак bool (через FALSE
).
Отправка подтверждающего сообщения (сервер):
helomessage = str("HELO")
helomessage_send = helomessage.encode('utf-8')
helomessage_header = f"{len(helomessage_send):<{HEADER_LENGTH}}".encode('utf-8')
print("Sending: ", helomessage_send)
client_socket.send(helomessage_header + helomessage_send)
Получение подтверждающего сообщения (клиент):
hellomessage_encoded = receive_message(client_socket)
print(helomessage_encoded)
helomessage = format(helomessage_encoded['data'].decode('utf-8'))
print(helomessage)
С 'receive_message'
, являющимся следующей функцией на клиенте:
def receive_message(client_socket):
try:
message_header = client_socket.recv(HEADER_LENGTH)
if not len(message_header):
return False
message_length = int(message_header.decode('utf-8').strip())
return {'header': message_header, 'data': client_socket.recv(message_length)}
except:
return False
При выполнении этого полученное значение (которое печатается на print(helomessage_encoded)
) выглядит как 'False'
.
Как это исправить, чтобы клиент получил нужную строку?