У меня есть два протоса, как, скажем,
Сообщение1 и Сообщение2.
Я получу эти прото сообщения. Я хочу их сериализовать, но добавляю сериализованные байты в один байтовый массив. Как правильно это сделать?
Я имею в виду, что из результирующего байтового массива потребитель должен иметь возможность десериализовать два сообщения. Нужно ли добавлять какие-то метаданные типа
Message1 -> 1
Message2 -> 2
Затем, когда я добавляю байты, полученные для отдельных сериализованных сообщений (в данном случае Message1 и Message2), к чему-то
result = [1], [len bytearray для message1] [bytearray для message1], [2], [len bytearray для message2], [bytearray для message2]
, а затем отправьте байтовый массив. На стороне потребителя они будут читать первый байт в качестве типа сообщения, вторые 4 байта для длины сообщения и на основе этого чтения первого байта массива сообщений и т. Д.
Как насчет, если я хочу сериализовать их в JSON. Мне все еще нужно делать какую-то кодировку?
Также позволяет упростить вопрос. Если мне нужно добавить несколько экземпляров одного и того же сообщения в одном байтовом массиве, какой будет идеальный способ сделать это?