client.py
while True: full_msg= "" new_msg = True while True: msg = c.recv(15) if new_msg : msglen = int(msg[:headersize]) new_msg = False full_msg += msg.decode("utf-8") if len(full_msg)-headersize == msglen: print("full msg recvd, Length = ", msglen) print(full_msg[headersize:]) new_msg = True
Это показывает ошибку как: ValueError: недопустимый литерал для int () с основанием 10: b ''
Вместо:
msglen = int(msg[:headersize])
попробуйте:
msglen = int(msg[:headersize].decode('utf-8'))
Ошибка, по-видимому, возникает в этой строке (единственный callint int():
int()
Если вы проверите msg, вы увидите, что это bytes объект, а не строка. Вам нужно использовать .decode на нем.
msg
bytes
.decode