如何在 Tornado 中通过 websocket 传输 .png 或 .jpg 文件

gaj*_*gaj 1 c++ python qt tornado websocket

总的来说,我对 Tornado 和 Web 服务还很陌生。在我的应用程序中,我在服务器端有 Qt/c++ 客户端和 python Tornado。Qt 客户端以文本消息的形式发送命令。在服务器端,“on_message”方法接收消息,对其进行解析并调用相关脚本来生成 .png 图像。现在,我想将此图像连同图像的简短描述一起发送回客户端。如何在服务器端和客户端执行此操作?指向任何在线示例的指针也会有所帮助。谢谢。

gre*_*gor 5

您可以将图像编码为 Base64 格式,并以 JSON 格式发送消息以及描述。

在你的服务器上你做

import base64

ws_client.write_message({
    "img": base64.b64encode(img_data),
    "desc": img_description,
})
Run Code Online (Sandbox Code Playgroud)

在客户端上,解析 JSON 字符串并解码 Base64 编码图像以获取数据。