Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.08.2013, 02:27
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 1  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
По умолчанию сериализация - десериализация

я очень давно уже об этом думаю, но не собирался до конца с этим разобраться, так как мне до сего момента это было не нужно. Теперь мне это нужно, так как в гугле я нашёл только готовые библиотеки и описание всех прелестей и удобства. Но мне так не нужно, хочу сам разобраться и сделать. Но в голове нет не одной зацепки и точки упора для старта. Подскажите принцип, нужные классы и если кто то знает хорошо исполненные уже готовые классы, дайте ссылку, чтобы хоть понять что там происходит.

Старый 09.08.2013, 03:34
Babylon вне форума Посмотреть профиль Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 2  
Ответить с цитированием
Babylon
Banned
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
http://actualwave.com/blog/?p=608#n/...TN5tMogOhlPB0A

Старый 09.08.2013, 10:44
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 3  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Перешел по приведенной ссылке - страница заблокирована из за вредоносного содержимого.

Старый 09.08.2013, 11:51
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 4  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
1. Можно и не искать ничего - есть Amf, вшитый во flashplayer и представленный либами для других платформ (правда некоторые безалаберно сделаны и требуют исправления багов перед использованием)
2. Коли интересны имеено бинарные форматы, читайте спецификации Amf(версия 3) или Protobuf.

Amf характерен загонами с укладкой небольших чисел в небольшое количество байт, а так же использованием ссылок на одинаковый текст, может сохранять объекты с переплетёнными/циклическими ссылками друг на друга. Но при сильном желании разобраться можно, ничего сверхъестественного там нет.
Типизированные данные туда укладываются как динамические с указанием алиаса типа(указывается вручную перед сериализацией и дессериализацией) и просто при распаковке создается не динамический объект, а объект нужного типа.

Protobuf характерен тем, что к нему в комплект обычно идёт генератор классов на нужном языке, но сам не использовал, ничего не знаю про этот формат.

Принцип? - Берешь, придумываешь формат, и используешь методы ByteArray (вшитый в flashplayer) для записи/чтения чисел/строк, кстати, там есть вшитый метод для записи объектов сразу в amf-формате.

Старый 09.08.2013, 11:57
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 5  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
хочу сам разобраться и сделать.
А что сделать то?
Сериализация
Т.е. сериализация это просто процесс по переводу данных программы в некий "транспортный" либо формат "хранения данных". И всё.
Десериализация это собственно наоборот, взяли некое нечто и распаковали его в структуру для удобства использования.

Паковать можно во что угодно. Бинарные форматы вон выше ссылки кинули.
Распаковывать - в зависимости от задачи.

И я догадываюсь откуда взялась тема. Но там имелось в виду что хмл - это не более чем формат сериализации данных. И использовать его в чистом виде в проекте зачастую глупо, и зачастую удобнее его десериализовать во что-то более адекватное.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 09.08.2013, 11:58
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 6  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Использовал Protobuf для клиент-серверного приложения, очень компактный формат, очень легко разобраться и начать использовать. "С наскока" объекты там не сериализуются - каждый раз надо собирать по свойствам и полям.
Если нужно передавать данные по сети - Protobuf подходит как нельзя лучше.

Старый 09.08.2013, 18:07
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 7  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
И я догадываюсь откуда взялась тема.
Да, я после Ваших слов отправился в поиск и первое, что он выдал, статья о готовых библиотеках сериализации - десериализации. я естественно скачал и мне понравилось, что по мимо сжатия и конвертации, там есть много других полезных инструментов, таких как наполнение значениями обьекты.
я не когда ещё не сталкивался с этим, но понял, что это будет полезно разобрать. Вот и сижу, учу.

Добавлено через 30 секунд
Babylon Спасибо! Полезная ссылка.

Добавлено через 3 часа 24 минуты
В готовых библиотеках, есть метод, который описывает классы в xml и наоборот. Как это делают? Мне известно только о describeType который в выводит данные о названии класса и имеющихся доступных свойствах и их типах. Может есть ещё какие то классы и методы которые делают тоже самое, но при этом лучше и удобнее?

Старый 09.08.2013, 19:43
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 8  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
describeType
Akopalipsis, не лезь пока туда)) оно не надо)
всё гораздо проще. Вот то что ты делал в первом своем посте - как раз и есть десериализация.

Ты получаешь хмл, а потом каким-то образом из этой хмл заполняешь данные в свои игровые объекты.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 09.08.2013, 22:15
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 9  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Akopalipsis, не лезь пока туда)) оно не надо)
Возможно!
Цитата:
И использовать его в чистом виде в проекте зачастую глупо, и зачастую удобнее его десериализовать во что-то более адекватное.
Про более адекватное я хотел потом спросить, но раз такое дело, то в какое?
После того как я увидел готовые библиотеки - то первое что я подумал, нужно это повторить самому.
Там есть метод, который при загрузке xml самостоятельно заполняет класс данными. Или берёт класс и создаёт xml. Это очень удобно! Создал класс считал с него и у тебя уже есть готовый внешний файл который можно менять, и затем им заполнять этот чистый класс модели. Тут конечно ещё можно вообще как я понял отказаться от xml, но пока не уверен и пока остановлюсь на создании xml из класса и наоборот. Потому что мне кажется это вообще не заменимым и это нужно самому уметь. Был бы очень рад за словестное подробное изложение этого процесса.

Добавлено через 13 минут
Мне самое главное понять какие существуют методы для чтения классов. я знаю только describeType, который возвращает xml. Там очень много лишнего, но распарсить мне особо трудно не будет.

Добавлено через 16 минут
И ещё у этого метода минус ( хотя возможно это наоборот плюс ) он не видит значений.

Старый 09.08.2013, 22:36
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 10  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Ты вот остановись и подумай.
хмл тебе зачем?
__________________
Кто к нам с чем для чего - тот у нас того от того.

Создать новую тему Ответ Часовой пояс GMT +4, время: 07:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.