Python stomp 发送消息无法显示文本

我们向消息服务器通过 stomp 发送的是文本消息。

当消息服务器发送成功后,消息服务器上的文本没有显示,显示的是 2 进制的数据。

如上图,消息没有作为文本来显示。

问题和解决

消息服务器是如何判断发送的小时是文本还是二进制的。

根据官方的说, Stomp 如设置了 content-length 就认为是二进制的消息,如果没有设置的话就是文本消息。

让后我们再看看创建消息的源代码:

在 Stomp 的源代码中,auto_content_length 这个参数的默认值为 True。

如果我们不在连接的时候进行指派,那么默认就会使用 Ture。

返回到我们的源代码,把上面的参数添加进来。

然后再次发送文本消息。

在这里,我们会看到消息的类型被修改为了文本。

同时我们发送的数据也能够在消息服务器上看到了。

Stomp Python 发送消息源代码

有时候,不得不说,这 Python 的代码是非常简单。

而且可以用好多已经可以用的库了,这个比 Java 是方便不少。

import time

import stomp

AMQHOST = "nas1120"
AMQPORT = 61616
AMQUSER = "artemis"
AMQPASS = "artemis"
TOPICNAME = "remotingQueue"

hosts = [(AMQHOST, AMQPORT)]
conn = stomp.Connection(host_and_ports=hosts, auto_content_length=False)
conn.connect(username=AMQUSER, passcode=AMQPASS, wait=True)
conn.send(body='Love Python', destination=TOPICNAME)
time.sleep(320)
conn.disconnect()

上面的代码只需要改一下参数应该就可以发送消息到你想发送的服务器上去了。

Python stomp 发送消息无法显示文本 - Python - iSharkFly

相关推荐
杨荧4 分钟前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
白子寰10 分钟前
【C++打怪之路Lv14】- “多态“篇
开发语言·c++
yannan2019031310 分钟前
【算法】(Python)动态规划
python·算法·动态规划
蒙娜丽宁20 分钟前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
光芒再现dev22 分钟前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
王俊山IT22 分钟前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
为将者,自当识天晓地。24 分钟前
c++多线程
java·开发语言
小政爱学习!26 分钟前
封装axios、环境变量、api解耦、解决跨域、全局组件注入
开发语言·前端·javascript
好喜欢吃红柚子36 分钟前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python40 分钟前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习