Как отличить текст от данных в байтах от TCP-сокета в Python? - PullRequest
0 голосов
/ 05 октября 2018

Сначала я получаю все данные, поступающие с сервера:

server_response = b''
buffer = s.recv(BUFFER_SIZE)
while buffer:
    server_response += buffer
    buffer = s.recv(BUFFER_SIZE)

Теперь у меня есть все байты в переменной server_response, но я не уверен, как их обработать.Скажем, что сервер отправляет что-то со следующей структурой:

FILE file_name file_size data\n

Я не могу .decode () все сразу, потому что «данные» - это файлы любого формата, поэтому я просто получу ошибку.

Я знаю, что полный ответ сервера состоит из 4 «слов», разделенных пробелами, и сообщение заканчивается на \n.Моя проблема здесь в том, что мне нужно разобрать некоторую часть этого в строку, а остальную часть в файл, и я не уверен, как это сделать, поскольку они все вместе в одной переменной bytearray.

...