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

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

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

Регистрация: Sep 2010
Сообщений: 81
По умолчанию RTMFP Многие ко многим

Уважаемые знатоки p2p/Обращаюсь к вам за консультацией и помощью в реализации не простого "один к одному" вещания, а "многие ко многим".

Создаю NetConnection
Код AS3:
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, onStatusEvent);
Ловлю NetConnection.Connect.Success и создаю стрим для публикации данных с nc.nearID

Код AS3:
private function onStatusEvent(e:NetStatusEvent):void
		{
			switch (e.info.code)
			{
				case "NetConnection.Connect.Success": 
 
					sendStream = new NetStream(nc, NetStream.DIRECT_CONNECTIONS);
			                sendStream.addEventListener(NetStatusEvent.NET_STATUS, onStatusEvent);
			                sendStream.client = {onPeerConnect:onPeerConnect};
			                sendStream.publish(nc.nearID);
 
					break;
 
				default: 
					break;
			}
		}
 
public function onPeerConnect(callerns:NetStream) : Boolean
        {
            return true;
        }
Выше всё стандартно и понятно.

Далее при передаче коллекции nearID из других экземпляров FlashPlayer я начинаю слушать их, создавая стрим проигрывания по айдишнику каждого как farID.
Код AS3:
public function receiving(farIDList:Array):void
		{
			for (var i:int = 0; i < farIDList.length; i++)
			{
				ListenerFars(farIDList[i]);
			}
		}
 
private function ListenerFars(farID:String):void
		{
			recvStream = new NetStream(nc, farID);
			recvStream.addEventListener(NetStatusEvent.NET_STATUS, onStatusEvent);
			recvStream.play(farID);
			recvStream.client = {msg:onMessageReceived};
		}
 
private function onMessageReceived(msg:*):void 
		{
			Log(msg);
		}
Проблема заключается в том, что при более 2-х экземпрярах FlashPalyer клиентов каким-то магическим методом у некоторых срабатывает "безпричинно" NetStream.Connect.Closed через 3-5-8 секунд приблизительно (т.е. многие ко многим работает, только определенный промежуток времени, потом обрывается какой-то клиент). Нету закономерности.
Когда 2 клиента паблишат и слушают друг друга, то никакого обрыва нету.

Как уйти от таких обрывов?

Старый 19.12.2014, 20:02
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 2  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
вроде,чтоб бродкастить на несколько пиров надо законектиться к нетгруппе (flash.net.NetGroup) и те,кто хочет показывать видео должны подключиться к бродкастеру, предварительно, законектившись в туже нетгруппу.

Старый 19.12.2014, 23:13
garymar вне форума Посмотреть профиль Отправить личное сообщение для garymar Найти все сообщения от garymar
  № 3  
Ответить с цитированием
garymar

Регистрация: Sep 2010
Сообщений: 81
Нет,NetGroup не катит. Мне нужно именно без NetGroup обойтись, мне важно чтобы не показывалось окно p2p сети

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

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

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


 


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


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