如果NATS消息有效载荷包含\ n \ r怎么办?

时间:2018-08-17 08:16:20

标签: nats.io nats-streaming-server

我正在尝试为NATS.io编写客户端库。根据协议here\n\r用于定界命令,有效负载等。

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用作分隔符?

感谢您的时间!

1 个答案:

答案 0 :(得分:0)

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

示例

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

有效载荷是第一个\r\n之后的11个字节---> Hello World

有效负载中带有\ r \ n的示例

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

有效载荷是第一个\r\n之后的11个字节---> Hello W\r\nld