Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Удаленные обеекты и обмен данными в реальном времени (http://www.flasher.ru/forum/showthread.php?t=132281)

murz 08.11.2009 15:57

Удаленные обеекты и обмен данными в реальном времени
 
Все привет. хочется узнать технику реализации приложений которые обмениваются данными в реальном времени(чаты, игры).

Я использую протокол rtmp и SharedObject, на сервере Red5. Делаю игрульку(Hello world) простую.

Проблема:
Когда я что-то пишу в SharedObject
Код AS3:

//....
_so = SharedObject.getRemote("app", _nc.uri, true);
_so.addEventListener(SyncEvent.SYNC, soHandler);
//.....
_so.setProperty(POSITION_PROP_NAME, { x:anyX } );
private function soHandler(e:SyncEvent):void {
        //any implementation       
}

, то об изменении SO узнают все клиенты. Даже тот которые является инициатором изменения. Хочется узнать как реализовать обработку оповещений.
Конкретный пример простого приложения:
Есть два мостика, есть шарик.
Мостиками управляют с разных клиентов.
Хочется через SharedObject реализовать управления мостиками.

Сейчас я реализовал так: — в каждом клиенте генерируется clienID, он передается вмете с anyX, и на основе него я произвожу обработку в soHandler.

Есть ли еще какие либо способы?

sabarn 09.11.2009 13:16

если онлайн игра, то сокет tcp. и сервак на си шарпе например

Котяра 09.11.2009 16:14

ну на то он и шаредОбжект, что расшарен для всех.
используй какой-нибудь MessageServiсe и на сервере решай, что кому отправить..

murz 09.11.2009 17:34

спасибо за советы. но остались вопросы:

— MessageServiсe, что это ? Я так понял его надо реализовать. Подскажите ссылочку на эту тему.

— с помощью инструмента SharedObject можно ли написать мультиплеерную игру? или его мощности не хватит? это бестпрактик?
— подойдет ли RED5 для тренирки/попрактиковатся в написание мультиплеерных игр.

gloomyBrain 09.11.2009 19:05

Проще свой сервер написать на той же яве. Вот Вам и будет MessageService =)
А для мультиплеерной игры не подойдет, на мой взгляд, ни SharedObject, ни Red5. Первый, т.к. рассылает сообщения от всех всем и обо всем(представим, что у Вас хотя бы 1000 игроков онлайн - уже будет не очень), а второй - т.к. заточен под работу с потоковой передачей - придется писать собственные функции для выборки из rtmp-потока нужной инфы.
А простенький (для начала) java-сервер можно написать дня за 2 =) В качестве бонуса Вы получите удобный вариант парсинга информации и приемлемое быстродействие

murz 09.11.2009 23:13

gloomyBrain, огромное спасибо все сомнения развеяны и.т.п. спасибо

Котяра 10.11.2009 11:39

Посмотрите в сторону smartFoxServer.
не обязательно его использовать (тоже есть много косяков), но принцип будет понятен..
еще есть BlazeDS, GraniteDS, LCDS
вот еще про MessageService
И мои попытки обуздать RPC и messages , и немного про NetConnection


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

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