Я пока думаю над пакетом типа
{"U": UnicalPacketCode, "T": PacketType, "PN": DataPacketNumber, "D":DATA}
где
UnicalPacketCode - уникальный номер передачи, по ней данные передаются от А до Я и склеиваются потом
PacketType - Тип данных\пакета, JSON, Bypes, etc (Как склеивать пакет... В классе, кому отдавать обработку, когда приняли всё. ) Полагаю нужно только в первом пакете серии.
DataPacketNumber - номер пакета в одном уникальном номере передачи, чтоб склеить в нужном порядке и повторять передачу если не дошло.
Ну и DATA - просто данные в виде байт, строки...
можно представить два пакета
{"U": "h8sk48", "T": "Str", "PN": 0, "D":"Jo"}
{"U": "h8sk48", "T": "Str", "PN": 1, "D":"pa"}