Отвечая на другую половину вашего вопроса, на которую не отвечал старый, у буферов протокола есть преимущество, заключающееся в том, что они гораздо более широко развернуты, поэтому вы с меньшей вероятностью столкнетесь с серьезными ошибками. Однако есть серьезные недостатки, не в последнюю очередь факты, которые (1) вы должны определить свой формат с использованием IDL, а затем использовать сгенерированные классы PB (то есть вам, возможно, придется копировать данные в свои собственные фоновые объекты и из них, что может привести к снижению производительности) и (2) PB не поддерживает полиморфизм, за исключением множества сложных для управления хаков.
Итак, если вы просто ищете простой способ переноса структурированных (но не объектно-ориентированных) данных из одной конечной точки в другую, вероятно, лучшим выбором будет буфер протоколов. Более сложные сценарии, вероятно, в пользу Kryonet.
НТН