通过 TCP 以太网发送 h5 文件

Sending h5 file throught TCP ethernet

我的主要 objective 是通过以太网 TCP 协议发送一个 h5 文件。我使用 h5py 加载文件,我得到数据的长度,我想从 PC 发送到 RPi(PC 是客户端 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!")

有人知道吗?我试图将我的文件转换为字节或其他格式,但没有任何结果。

出于某种原因,我无法通过 TCP 连接发送这种文件 (h5) 格式,但是如果您将模型保存在 .json 中,您可以轻松地 open(model.json, 'r') 和拆分在所需的数据帧中并发送 socket.send(bytes(modelString/1024),'utf-8')(1024 字节要在每个包中发送)。希望对大家有帮助! :D