【问题标题】:What if NATS message payload contains \n\r?如果 NATS 消息负载包含 \n\r 怎么办?
【发布时间】:2018-09-13 05:12:53
【问题描述】:

我正在尝试为 NATS.io 编写客户端库。根据协议here\n\r用于分隔命令、payload等。

INFO {"server_id":"1ec445b504f4edfb4cf7927c707dd717","version":"0.6.6","go":"go1.4.2","host":"0.0.0.0","port":4222,"auth_required":false,"ssl_required":false,"max_payload":1048576}

我的问题是如果有效载荷包含\r\n 怎么办?我找不到任何有关如何逃脱\r\n 的信息。是否应该在收到有效的 JSON 之前读取INFO,而不是寻找\r\n 作为分隔符?

感谢您的宝贵时间!

【问题讨论】:

    标签: nats.io nats-streaming-server


    【解决方案1】:

    订阅消息MSG 始终包含有效负载字节的长度。 docu

    示例

    MSG FOO.BAR 9 11\r\nHello World\r\n

    payload是第一个\r\n之后的11个字节--->Hello World

    payload 中包含 \r\n 的示例

    MSG FOO.BAR 9 11\r\nHello W\r\nld\r\n

    payload是第一个\r\n之后的11个字节--->Hello W\r\nld

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-14
      • 2014-05-06
      相关资源
      最近更新 更多