Что если полезная нагрузка сообщения 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