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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.10.2009, 02:06
Gogan вне форума Посмотреть профиль Отправить личное сообщение для Gogan Найти все сообщения от Gogan
  № 1  
Ответить с цитированием
Gogan

Регистрация: Mar 2009
Сообщений: 65
Attention Создание больше чем 2-х LocalConnection

Создал 2 флешки, общающихся между собой на HTML странице через LocalConnection. Для пользователя, который просмотрел страницу первым все отлично работает. Но вот для тех , кто просматривает страницу после него, начинаются косяки (типа : Connect failed because the object is already connected). Я вижу выход из ситуации следующий: Для каждого нового пользователя на странице создавать уникальное имя соединения с помощью javascript и как то через ExternalEnterface получать его флешками. Тогда они типо будут иметь разные соединения...
Правилен ли такой подход? Может быть есть другие варианты решения этой проблемы?

Старый 07.10.2009, 03:28
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Вот, посмотрите, как вариант:
http://code.google.com/p/e4xu/source...idge/AVM1LC.as
(АС3)
http://code.google.com/p/e4xu/source...lcbridge/LC.as
(АС2)

Единственное, в виду секьюрити апдейта для плеера, лучше пока повременить использовать ЛК... Там чего-то учудили с ним, и оно по словам очевидцев теперь на маках не работает вообще.
__________________
Hell is the possibility of sanity

Старый 07.10.2009, 11:17
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 3  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от Gogan Посмотреть сообщение
Для пользователя, который просмотрел страницу первым все отлично работает. Но вот для тех , кто просматривает страницу после него, начинаются косяки
Не могли бы Вы подробнее объяснить о каких пользователях идет речь и что подразумевается под "просмотром" страницы?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 07.10.2009, 12:43
Gogan вне форума Посмотреть профиль Отправить личное сообщение для Gogan Найти все сообщения от Gogan
  № 4  
Ответить с цитированием
Gogan

Регистрация: Mar 2009
Сообщений: 65
Просто дважды открыть страничку с флешками , общающимися между собой через LocalConnection. Вот пример: http://www.belfortex.com/goga/double...onnection.html
, откройте одновременно в нескольких страницах...

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

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
У меня "нажми" на второй странице заставляет играть "принимаю" на первой. В этом проблема? Видимо, конфликт имен соединений. Точнее, их перекрытие. Уникальные имена ожно js-ом передать, можно сгенерить на сервере и через flashvars передать, а можно написать флэшку- сервер, которая будет управлять всем этим хозяйством.

Старый 07.10.2009, 13:06
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Понятно. Сделайте как принято в радиосвязи. Есть вызывная частота. На ней работать запрещено, но после ответа вызываемого можно договориться о рабочей частоте, оба абонента переходят на неё, освобождая вызывную.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 07.10.2009, 13:20
Gogan вне форума Посмотреть профиль Отправить личное сообщение для Gogan Найти все сообщения от Gogan
  № 7  
Ответить с цитированием
Gogan

Регистрация: Mar 2009
Сообщений: 65
Цитата:
Сообщение от alexcon314 Посмотреть сообщение
Видимо, конфликт имен соединений. Точнее, их перекрытие. Уникальные имена ожно js-ом передать, можно сгенерить на сервере и через flashvars передать, а можно написать флэшку- сервер, которая будет управлять всем этим хозяйством.
Спасибо за ответ , но если заметите ,я уже писал про Js в первом своем сообщении . А вот про флешку сервер , это уже интересней...не могли бы вы дать ссылку на подобный пример ?

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

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
Цитата:
Сообщение от Gogan Посмотреть сообщение
Спасибо за ответ , но если заметите ,я уже писал про Js в первом своем сообщении . А вот про флешку сервер , это уже интересней...не могли бы вы дать ссылку на подобный пример ?
я думаю что человек имел ввиду чтоб флеш объект генерился сервером, так что бы у всех оказывались разные id

Старый 07.10.2009, 13:25
Gogan вне форума Посмотреть профиль Отправить личное сообщение для Gogan Найти все сообщения от Gogan
  № 9  
Ответить с цитированием
Gogan

Регистрация: Mar 2009
Сообщений: 65
Цитата:
Сообщение от dimarik Посмотреть сообщение
Понятно. Сделайте как принято в радиосвязи. Есть вызывная частота. На ней работать запрещено, но после ответа вызываемого можно договориться о рабочей частоте, оба абонента переходят на неё, освобождая вызывную.
Я буду как параметр передавать в вызываемую уникальное имя нового соединения и обеими флешками переходить на другое соединение... Хотя, стоп , а имя то первого соединения у меня будет всегда одинаковое...Тогда нужно как то согласовывать обеими флехами имя первого соединения. Бррррр ... походу вариант с js- лучший...


Последний раз редактировалось Gogan; 07.10.2009 в 13:30.
Старый 07.10.2009, 13:50
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 10  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
вот накидал примерный алгоритм двустороннего общения с использованием вызывной "частоты".

Проще надо быть =) Зачем сервер?

Есть две флешки на одной странице.
Одна из них рассылает сообщения (sender), другая их слушает (recipient).
Обе флешки знают имя дежурного канала, на котором происходит договор о рабочих частотах.

sender подключается к каналу "callingPort"
sender.connect("callingPort");

recipient сразу после загрузки генерирует уникальное имя канала "recipient_id12345", на котором будет слушать sender'а
и подключается к нему:
recipien.connect("recipient_id12345");

Процедура handshake

recipient отправляет на канал "callingPort" сообщение "handshake" и обратный адрес-канал "recipient_id12345"
recipient.send("callingPort", "handshake", "recipient_id12345");

sender принимает сообщение, закрывает вызывной канал "callingPort"
sender.close()
Этот канал готов к очередному подключению.

sender открывает новый уникальный канал "sender_id4321", на котором будет слушать recipient'а
sender отсылает сообщение "handshake_ok" по указанному recipient'ом адресу ("recipient_id12345")
и новое уникальное имя канала ("sender_id4321") на котором он будет слушать.

sender.connect("sender_id4321");
sender.send("recipient_id12345", "handshake_ok", "sender_id4321");


recipient слушает ответ от sender на callBack-metode на наличие сообщения "handshake_ok";
В случае, если сообщение не пришло, делается очередной
recipient.send("callingPort", "handshake", "recipient_id12345");
Такое может быть, если recipient загрузился раньше sender'а.

Когда в recipient приходит "handshake_ok" от sender'а, recipient имеет имя канала, на котором слушает sender.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 07.10.2009 в 13:58.
Создать новую тему Ответ Часовой пояс GMT +4, время: 21:05.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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