Я отправляю изображение с Raspberry Pi на ноутбук с помощью сокетов.Pi не выходит из цикла после завершения отправки, и ноутбук не выходит из цикла после завершения приема.Любые идеи, которые могут решить эту проблему?
Я хочу, чтобы ноутбук вышел из цикла после получения полного изображения.
Принятые данные никогда не бывают согласованными, поэтому невозможно вырваться из цикла всякий раз, когда file_data равен
import socket
import os
x = 0
host = "192.168.43.98"
port = 5000
s= socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host,port))
print("Connected to Pi...")
filename ="testImg.jpg"
file = open (filename, 'wb')
length = 0
while True:
file_data = s.recv(1000)
if (length > 3050000):
file.write(file_data)
print('Receiving data')
print(len(file_data))
length = length + int(len(file_data))
if (len(file_data) < 500):
print(len(file_data))
file.write(file_data)
print('no more data to receive --> break')
break
else:
file.write(file_data)
print('Receiving data')
print(len(file_data))
length = length + int(len(file_data))
file.close()