сервером на Golang. По каналу гоняю разные байты (строчки, инты, strlen итд).
Вопрос: если мой разделитель сообщений это \n и у меня среди байтов встретиться байт с значением кодовой позиции \n, то у меня все развалится?
так запустите свой скрипт с замоканным соединением и проверьте) и нам скажите Скорее всего да, но он может проверять является ли байт концом строки.
скорее всего - да гоняйте строки в base64
развалится в том случае, если парсер просто разделяет все по \n выход из ситуации - делать парсер так, чтобы он знал состояние
Да, развалится
да, всё развалится я советую посмотреть в сторону форматов с поддержкой потоков, даже банальный json подойдёт — вполне нормально будет работать через tcp. Если хочется чего-то покомпактнее — то есть msgpack, protobuf — а если взяли последний, то можно уж и gRPC просто взять ) сразу получите и формальное описание схемы и сервисов, tls из коробки и кучу всяких приблуд из экосистеы
Обсуждают сегодня