![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
В проекте решили использовать AMF для общения клиент-сервер.
Интересуют следующие вещи: 1) Использование, как я понял такое - просто делается writeObject. Всё? 2) Когда в сокет падают данные я получаю их по SOCKET_DATA. Может ли приключится так, что протокол TCP образно говоря даст мне 2 раза это событие? В случае с кастомным протоколом я знал его длину и ждал когда он прогрузится полностью, как поступать здесь? 3) Нужно ли делать compress перед отправкой? getSize всегда даёт 80, видимо, информация внутри массива туда не входит. Делал save через файл референс - размер у файла до компрессии и после один. Смотрел length - после компрессии больше. Не понятно... 4) Как лучше подготавливать данные? Например, мне может придти от сервера один из 4 экземпляров класса. Мне их занаследовать от 1 базового, в котором будет поле с именем класса, к которому нужно привести этот класс, но как то это по быдлятски... в общем, непонятно. 5) Чтобы по AMF без отсебятины - я должен сериализировать только один объект его и отсылать? Или не уходя от "классического амф" я могу всунуть 10 байтов текста, потом объект, а потом 3 булеана? 6) Начитался гайдов и везде используется NetConnection, но не понятно - сокетная это дрянь или нет. Серверник подсказывает что нет, и это мне совсем не нравится, хочу использовать стандартный Socket. Есть варианты? Самое плохое что в интернете очень скудно описано AMF на клиентской стороне. Дальше hello world! непонятного качества примеры не разбираются. Буду рад хорошим ссылкам ) Спасибо.
__________________
Тут мужик танцует и поёт про флэш Последний раз редактировалось Psycho Tiger; 26.09.2010 в 21:10. |
|
|||||
|
.
|
1) Да.
2) Да. Оборачивать в свои пакеты нужно. С длиной, белкджеком и девами. 3) Оно вроде не пожато. Спецификация уточняет. Но можно свое сжатие накатить. 4) Не пользовал, потому что в протоколе очень много избыточной информации. 5) Можно все, что разрешено спецификацией. Главное, когда будешь делать readObject чтобы все было в AMF. По-моему логично. 6) Чистейший HTTP. Потому чтение происходит после COMPLETE, а не порциями по SOCKET_DATA (см. п. 2). |
|
|||||
|
3) Потестили с серверником. После compress размер пакета, что к нему приходит - 65 байт, до - 54. В кастомном протоколе, выдуманном за 5 минут это можно обернуть в байтов 20, разница почти в 3 раза. Что мы неправильно делаем?
4) Какой порекомендуешь использовать вместо? Если любишь кастомные - то опиши в 2 словах суть. Я выдумал - <id><length><message> - id = команда, length длина message, но гуру посоветовали AMF. Пытаемся проникнутся ) 5) Да, логично =) Просто как новенький в этой теме решил уточнить этот момент. Не очень понял про Цитата:
6) HTTP для игр совсем не люблю ) Спасибо!
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|