找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 4358|回复: 3

[求助] Socket怎么发送Numpy.Array数组 并接收后解析还原成Numpy.Array数组

1

主题

3

帖子

3

积分

贫民

积分
3
杰杰 发表于 2018-12-22 11:20:40 | 显示全部楼层 |阅读模式
本帖最后由 杰杰 于 2018-12-22 11:21 编辑

#Server
import socket
import numpy
Server = socket.socket()
Server.bind(('127.0.0.1', 2000))
Server.listen(1)
conn, address = Server.accept()
data = conn.recv(1024)
print(data)



#Client
import socket
import numpy
Client = socket.socket()
Client.connect(('127.0.0.1', 2000))
data=numpy.array([[1,2,3],[4,5,6]])
Client.send(data)


Server实际接收到的数据如下
b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00'
似乎无法还原成源数据 array格式啊,请问两边要怎么做才能实现呢
回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2018-12-24 12:12:23 | 显示全部楼层

回帖奖励 +1 点威望

试试看pickle.dumps和pickle.loads
回复 支持 1 反对 0

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
杰杰  楼主| 发表于 2019-1-4 13:12:15 | 显示全部楼层
sheeboard 发表于 2018-12-24 12:12
试试看pickle.dumps和pickle.loads

哈哈ok啦
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
jiang316300541 发表于 2019-12-3 16:21:09 | 显示全部楼层
本帖最后由 jiang316300541 于 2019-12-3 20:23 编辑

运行成功sock.send(pickle.dumps(data))
data = sock.recv(1024)pickle.loads(data) 或pickle.loads(data,encoding='latin-1')
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表