Передача файлов по сети в контейнере
От: Yabloko  
Дата: 04.07.08 09:06
Оценка:
Стоит задача передавать файлы по сети, используя некий удобный текстовый формат для формирования сообщений.

То есть, например, с одной стороны отправляется пакет

{"filename":"picture.jpg", "data":"............."}

используя формат JSON.

С другой стороны парсером анализируется текст и создается файл picture.jpg.

Хочу посоветоваться, каким образом правильнее преобразовывать произвольные файлы в текстовые строки.

Платформа Linux/Windows, C++.
Re: Передача файлов по сети в контейнере
От: Sinclair Россия https://github.com/evilguest/
Дата: 04.07.08 09:53
Оценка: 1 (1)
Здравствуйте, Yabloko, Вы писали:
Y>Хочу посоветоваться, каким образом правильнее преобразовывать произвольные файлы в текстовые строки.
base64.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Передача файлов по сети в контейнере
От: Lloyd Россия  
Дата: 04.07.08 11:48
Оценка: 1 (1)
Здравствуйте, Yabloko, Вы писали:

Y>То есть, например, с одной стороны отправляется пакет


Y>{"filename":"picture.jpg", "data":"............."}


Y>используя формат JSON.


Зачем тут json?
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[2]: Передача файлов по сети в контейнере
От: Yabloko  
Дата: 04.07.08 17:25
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, Yabloko, Вы писали:


Y>>То есть, например, с одной стороны отправляется пакет


Y>>{"filename":"picture.jpg", "data":"............."}


Y>>используя формат JSON.


L>Зачем тут json?


Json выбрал для того, чтобы не выдумывать какой-то свой механизм кодирования сообщений, отправляемых друг другу, а использовать готовое решение, для которого уже существуют парсеры. Если это в корне неправильно, поправьте меня, пожалуйста.

По-поводу кодирования данных файла в текст — это видимо не лучшая идея. Думаю, правильнее будет все необходимые параметры передавать в заголовке в формате, поддающемся парсингу. А сами данные передавать дальше в том виде, в котором они записаны в файле.
Re[3]: Передача файлов по сети в контейнере
От: Lloyd Россия  
Дата: 05.07.08 13:53
Оценка:
Здравствуйте, Yabloko, Вы писали:

L>>Зачем тут json?


Y>Json выбрал для того, чтобы не выдумывать какой-то свой механизм кодирования сообщений, отправляемых друг другу, а использовать готовое решение, для которого уже существуют парсеры. Если это в корне неправильно, поправьте меня, пожалуйста.


Зачем для этого именно json? Используйте какую-нить SOAP библиотеку с поддержкой MTOM-а, например.
... << RSDN@Home 1.2.0 alpha rev. 786>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.