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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.11.2009, 15:57
murz вне форума Посмотреть профиль Отправить личное сообщение для murz Найти все сообщения от murz
  № 1  
Ответить с цитированием
murz
[+1 10.12.10]

Регистрация: Feb 2006
Сообщений: 148
Отправить сообщение для murz с помощью ICQ
По умолчанию Удаленные обеекты и обмен данными в реальном времени

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

Я использую протокол 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.

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

Старый 09.11.2009, 13:16
sabarn вне форума Посмотреть профиль Отправить личное сообщение для sabarn Найти все сообщения от sabarn
  № 2  
Ответить с цитированием
sabarn
 
Аватар для sabarn

Регистрация: Nov 2008
Адрес: МО
Сообщений: 105
Отправить сообщение для sabarn с помощью ICQ
если онлайн игра, то сокет tcp. и сервак на си шарпе например
__________________
так то оно так, но ежели иначе - так вот тебе и пожалуста

Старый 09.11.2009, 16:14
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 3  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
ну на то он и шаредОбжект, что расшарен для всех.
используй какой-нибудь MessageServiсe и на сервере решай, что кому отправить..
__________________
Отряд Котовскага

Старый 09.11.2009, 17:34
murz вне форума Посмотреть профиль Отправить личное сообщение для murz Найти все сообщения от murz
  № 4  
Ответить с цитированием
murz
[+1 10.12.10]

Регистрация: Feb 2006
Сообщений: 148
Отправить сообщение для murz с помощью ICQ
спасибо за советы. но остались вопросы:

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

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

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Проще свой сервер написать на той же яве. Вот Вам и будет MessageService =)
А для мультиплеерной игры не подойдет, на мой взгляд, ни SharedObject, ни Red5. Первый, т.к. рассылает сообщения от всех всем и обо всем(представим, что у Вас хотя бы 1000 игроков онлайн - уже будет не очень), а второй - т.к. заточен под работу с потоковой передачей - придется писать собственные функции для выборки из rtmp-потока нужной инфы.
А простенький (для начала) java-сервер можно написать дня за 2 =) В качестве бонуса Вы получите удобный вариант парсинга информации и приемлемое быстродействие
__________________
...вселенская грусть

Старый 09.11.2009, 23:13
murz вне форума Посмотреть профиль Отправить личное сообщение для murz Найти все сообщения от murz
  № 6  
Ответить с цитированием
murz
[+1 10.12.10]

Регистрация: Feb 2006
Сообщений: 148
Отправить сообщение для murz с помощью ICQ
gloomyBrain, огромное спасибо все сомнения развеяны и.т.п. спасибо

Старый 10.11.2009, 11:39
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 7  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Посмотрите в сторону smartFoxServer.
не обязательно его использовать (тоже есть много косяков), но принцип будет понятен..
еще есть BlazeDS, GraniteDS, LCDS
вот еще про MessageService
И мои попытки обуздать RPC и messages , и немного про NetConnection
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 10.11.2009 в 11:59.
Создать новую тему Ответ Часовой пояс GMT +4, время: 15:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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