通过 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
我的主要 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