![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1.3 18.03.10]
Регистрация: Mar 2010
Сообщений: 45
|
Привет всем.
Возник такой вопрос - в сокет сыпется последовательность картинок jpeg. С заголовком, со всеми делами, грубо говоря файлы. только одним байт-потоком Ну... собственно вопрос, а как их расцепить-то на отдельные картинки?ЛИБО... у сокета есть метод позволяющий читать объект AMF. Возможно ли передача jpeg как объекта AMF и как? Спасибо. |
|
|||||
|
AMF... эээ... зачем картинку сериализовывать в AMF?
Я вот не знаю, есть ли JPEG`е место в котором написан полный размер этого JPEG`а. Если нету - дописываем перед JPEG`ом. Качаем, пока не скачаем )
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Или использовать заголовки в качестве разделителя. Хотя морока, смотреть, тестить)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. Последний раз редактировалось -De-; 26.10.2010 в 15:58. |
|
|||||
|
а не может ваш сервер пульнуть команду ввиде хотя бы 1 байта, что "амба, весь файлик я тебе отдал" ?
Добавлено через 6 минут хотя у меня была немного другая реализация с сервера пулялись некоторые порции данных содержащие - номер команды 2 байта - длина контента 2 байта - контент - согласно длине получив команду и длину, сокет складывает все байты в некий буфер, пока не соберет весь контент в кучку. даже если контент будет лететь несколькими пакетами ничего страшного, собираем пакеты в кучу до победного. все это дело сериализуем как нам надо, выплевываем ивент по этому случаю , обнуляем (или отрезаем то, что выплюнули) и сидим ждем следующих команд или кусков данных
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
По сути - передается массив однотипных данных. Проще всего на отправляющем конце писать по вот такой схеме
- массив (команда, его обозначающая) - длина массива (2 байта) - тип данных (2 байта) - длина первого элемента (2 байта) - данные первого элемента (n байт) - длина второго элемента (2 байта) - данные второго элемента (n байт) - ... - ... и так до конца массива Соответственно, на принимающем конце - парсим, пока не придут все элементы В общем - почти так, как сказал cleptoman
__________________
...вселенская грусть |
|
|||||
|
[+1.3 18.03.10]
Регистрация: Mar 2010
Сообщений: 45
|
Спасибо всем за оперативные ответы. В общем как я и думал, магического решения нету
Надо читать поток, отслеживать появление заголовка jpeg и читать всё остальное до следующего появления заголовка.Добавлено через 33 секунды Как напишу код - выложу. Поругаете ![]() |
|
|||||
|
стервочка (я мужик)
|
мдя ... видимо 4 байта с длинной это слишком навароченный вариант для Вас.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 04:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|