Я пишу файловый сервер Python и хочу иметь возможность восстановить все данные в буфере.Поэтому я сделал функцию отправки, которая отправляет данные вместе с размером файла, но когда я отправляю данные, возникает ошибка атрибута.
Я попытался зациклить функцию recv, но не смог заставить ее работать так,Я решил отправить размер отправляемых данных и позволить серверу / клиенту увидеть, сколько данных они получили, и если они меньше, чем объем, который им сообщают, они должны продолжать получать данные.
def getsizeof(data, tl=0):
for i in data:
data = sys.getsizeof(i)
tl += data
return tl
def send(conn, request):
length = getsizeof(request)
length_size = sys.getsizeof(length)
byte_size = length_size + length
###########################################################
request.insert(0, byte_size) # THIS IS WHERE I GET 'AttributeError: 'bytes' has no attribute 'insert'
###########################################################
conn.sendall(pickle.dumps(request)) # Encoding & sending data
print(total_length)
Я получаю ошибку атрибута, но когда она исправлена, я думаю, что она должна работать, восстановить все данные в буфере и правильно отправить с размером отправленных данных в байтах.