Вы можете отправлять необработанные двоичные данные через WebSocket.
Управлять им довольно просто.
Один из вариантов - добавить волшебный байт (идентификатор, который помечает сообщение как не-JSON).Например, добавьте двоичные сообщения с символом B
.
Все, что нужно сделать серверу, это проверить первый символ перед сбором двоичных данных (если магический байт отсутствует, это, вероятно, обычный JSONсообщение).
Более серьезная реализация прикрепит заголовок после магического байта (т. е. имя файла, общая длина, позиция отправляемых данных и т. д.).
Это позволяет загружать ввозобновить после отключения (отправьте только те части, которые не были подтверждены как полученные.
Вашему серверу перед обработкой потребуется разбить данные на magic byte
, header
и binary_data
. Но это достаточно простовыполнить.