Самый простой способ отправки метаданных с двоичными данными - это разделение по размеру. Вы можете сгенерировать случайное число для идентификации файла (64-битное int или UUID). Добавьте этот номер ко всем фрагментам файла, затем добавьте номер фрагмента (скажем, 2 байта). Таким образом, у вас будет протокол, который выглядит следующим образом: сначала 8 байтов (или 16, если вы выбираете UUID) для идентификатора, затем 2 байта для номера чанка, а затем данные. Сначала отправьте метаданные как обычный JSON. Метаданные будут иметь имя файла и идентификатор, а также могут быть другие данные, которые вам могут понадобиться, например количество чанков. Конечно, может быть гораздо больше способов решить эту проблему.