Что если полезная нагрузка сообщения NATS содержит \n\r?

Я пытаюсь написать клиентскую библиотеку для NATS.io. Согласно протоколу здесь, \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, Стоит ли читать INFO пока действительный JSON не получен и не ищет \r\n как разделитель?

Спасибо за ваше время!

1 ответ

Сообщение подписки MSG всегда содержит длину байтов полезной нагрузки. доку

пример

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

Полезная нагрузка - 11 байтов после первого\r\n ---> Hello World

Пример с \r\n в полезной нагрузке

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

Полезная нагрузка - 11 байтов после первого\r\n ---> Hello W\r\nld

Другие вопросы по тегам