Отправка файла h5 через TCP Ethernet - PullRequest
0 голосов
/ 25 мая 2020

Моя основная цель - послать через протокол rnet TCP протокол h5. Я использовал h5py для загрузки файла, я получил длину данных и хочу отправить из P C в RPi (P C - это клиент, RPi является хостом).


Host = "169.254.110.54"
Port = 7777
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect((Host, Port))
print("Succeded connection!")

send_obj = h5py.File(model_path, 'r')
print(send_obj)
len = str(send_obj.__sizeof__())
print(len)

print(bytes(len, 'utf-8'))
i = 0

while True and i<1:
      try:
         s.send(bytes(len, 'utf-8'))
         print("Sending data!\n")
         ack = s.recv(1024)
         msg = ack.decode('utf-8')
         if(msg == "DRCV"):
             s.send(send_obj)
         print(msg)
         i= i+1
       except:
          pass
s.close()
print("Connection ended!")

Кто-то любая идея? Я попытался преобразовать свой файл в байты или что-то еще, но безрезультатно.

1 Ответ

0 голосов
/ 30 мая 2020

По какой-то причине мне не удалось отправить файл такого формата (h5) через TCP-соединение, но если вы сохраните свою модель в. json, вы можете легко open(model.json, 'r') и разделить в желаемом формате данных и отправить socket.send(bytes(modelString/1024),'utf-8') (1024 байта нужно отправить в каждом пакете). Надеюсь, это поможет всем! : D

...