python作为server端,实现使用websocket发送图片
发送图片有两种方法:1.json传送,2.base64传送
json传送:
img_str = getByte('E:\Desktop\pictures\Xixi.png')
data = img_str
json_mod = json.dumps(data)
await websocket.send(json_mod)#传回json数据
base64传送
def getByte(path):
with open(path, 'rb') as f:
img_byte = base64.b64encode(f.read())
img_str = img_byte.decode('ascii')
return img_str
img_str = getByte('E:\Desktop\pictures\Xixi.png')
await websocket.send(img_str)
这两种方法都可以传送图片,那么有什么区别呢?通俗来说,json是一种比较“败家”的行为,传json开销比较大,因为在嵌入式开发中,如果硬件资源比较有限,那么就容易出问题,相对比较来说,传送base64相对比较节约。但是json带来的开销也是有好处的,因为它可以传的东西太多了,比如json的key-value对用来传数组就很方便,(这个可以去看我的另一篇文章https://www.jianshu.com/p/772a49948792,里面有json格式传送数组)。
在嵌入式开发中,json可以使用在云端到前端中,但是在云端到边缘端中还是能省就省,如果有比json更节约资源的方式,那么还是第二考虑使用json的。
以上是小编实际经验,如果有什么问题,欢迎联系小编。