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

相关推荐
刚入坑的新人编程3 分钟前
算法训练.17
开发语言·数据结构·c++·算法
汤姆yu5 分钟前
基于python大数据深度学习的酒店评论文本情感分析
开发语言·python·深度学习
拓端研究室7 分钟前
Python电力负荷预测:LSTM、GRU、DeepAR、XGBoost、Stacking、ARIMA结合多源数据融合与SHAP可解释性的研究
python·gru·lstm
狂团商城小师妹11 分钟前
JAVA无人共享台球杆台球柜系统球杆柜租赁系统源码支持微信小程序
java·开发语言·微信小程序·小程序
Fortunate Chen14 分钟前
初识C语言13.自定义类型(联合体与枚举)
c语言·开发语言
麦麦鸡腿堡15 分钟前
Java的抽象类实践-模板设计模式
java·开发语言·设计模式
shandianchengzi16 分钟前
【记录】Unity|Unity从安装到打开一个Github项目(以我的世界(仿)为例)
unity·c#·游戏引擎·github·我的世界·mc
穿花云烛展17 分钟前
项目实践3:一个冲突引起的灾难
前端·github
迷路爸爸18020 分钟前
Git Commit Message 规范:写出清晰、可维护的提交记录
git·python
前端赵哈哈25 分钟前
Git 本地仓库操作指南:将未提交文件复刻至新分支(无需关联远端)
前端·git·github