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

标签 python c++ qt websocket tornado

我是 Tornado 和网络服务的新手。 在我的应用程序中,我在服务器端有 Qt/c++ 客户端和 python Tornado。 Qt 客户端以文本消息的形式发送命令。在服务器端,'on_message' 方法接收消息、解析它并调用相关脚本以生成 .png 图像。现在,我想将这张图片连同图片的简短描述一起发回给客户。我如何在服务器端和客户端执行此操作?指向任何在线示例的指针也会有所帮助。 谢谢。

最佳答案

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

在你的服务器上

import base64

ws_client.write_message({
    "img": base64.b64encode(img_data),
    "desc": img_description,
})

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

关于python - 如何在 Tornado 中通过 websocket 传输 .png 或 .jpg 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32961835/

相关文章:

python - Numpy vectorize 作为带参数的装饰器

c++ - 为什么允许 dynamic_cast 到非唯一基类类型?

qt - 如何使用QMake的子目录模板?

c++ - 对`vtable 的 undefined reference

pygame 应用程序运行时弹出 Python 终端窗口

python cgi + 用于运行批处理命令的网络界面?

c++ - 使用 std::make_shared() 的数据缓存影响

c++ - 重载函数和可执行文件/库的大小

python - Django - Unitest 还是 Doctest?

c++ - 如何将CUDA代码分成多个文件