关于websocket发送图片

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的。

以上是小编实际经验,如果有什么问题,欢迎联系小编。

你可能感兴趣的:(关于websocket发送图片)