首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从nats.io服务器获取不持久的消息

从nats.io服务器获取不持久的消息
EN

Stack Overflow用户
提问于 2022-08-15 16:26:41
回答 1查看 59关注 0票数 1

我的问题很简单:现在这段代码向subject chan.01.msg发送空消息,并获取当前正在广播或打印nats: timeout的消息。总之,这个请求消息也会在subject上显示(类似:Received a message on chan.01.msg _INBOX.<hash_my>.<salt_up>: b''),在这里并不可取。我确实在回调中过滤了它,但我真的觉得这样做是错误的。我能用想要的主题来传达信息吗?

代码语言:javascript
复制
async def msgcb(msg):
    """
    Message callback function
    """
    subject = msg.subject
    reply = msg.reply
    data = msg.data
    if len(data) > 0:
        print(f"Received a message on {subject} {reply}: {data}")

logging.debug("Prepare to subscribe")
sub = await nc.subscribe(subject="chan.01.msg", cb=msgcb)

logging.debug("loop process messages on subject")
while True:
    await asyncio.sleep(1)
    try:
        resp = await nc.request('chan.01.msg')
        print(resp)
    except Exception as e:
        print(e)
EN

回答 1

Stack Overflow用户

发布于 2022-08-23 04:52:03

您订阅的主题与您要发布的主题相同,因此在发送请求时自然会收到消息。为了避免接收相同客户端产生的消息,您可以在connect上使用no_echo选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73363798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档