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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.03.2012, 16:37
dsQuadro вне форума Посмотреть профиль Отправить личное сообщение для dsQuadro Посетить домашнюю страницу dsQuadro Найти все сообщения от dsQuadro
  № 11  
Ответить с цитированием
dsQuadro
 
Аватар для dsQuadro

Регистрация: Feb 2008
Адрес: Москва
Сообщений: 238
Отправить сообщение для dsQuadro с помощью ICQ
подключаешь людей в одной комнате к NetGroup с идентификатором этой комнаты, создаешь свой исходящий поток, и слушаешь нового соседа, как только появился первый сосед шлешь в группу сообщение со своим id... каждый кто получает этот id, проверяет не подключен ли он к тебе, если нет то создает новый поток и подключается им к твоему.... тыже теперь уже на потоке ждешь новых подключившихся, и подключаешься ко всем кто подключился к тебе(лдя каждого создаешь новый NetStream и подключаешь его к прослушиванию подключившегося)...
может немного запутанно, но я так реализовал... никакого сервера и хостинга вообще нет, а флешки работают на ура

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

Регистрация: Feb 2012
Сообщений: 10
В общем я сделал вот так:
Отправляю мой PeerID всем кто есть сейчас в группе
Код AS3:
case "NetGroup.Neighbor.Connect": netGroup.post(netConnection.nearID);
Вещание в группу идёт вот таким образом
Код AS3:
//..........
netStream = new NetStream(netConnection, groupspec.groupspecWithAuthorizations());
netStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
//..........
var mic:Microphone = Microphone.getMicrophone();
netStream.attachAudio(mic);
netStream.publish("stream");
Если кто то прислал нам свой PeerID, то создаём поток подключающийся непосредственно к нему
Код AS3:
private function newIncomStream(peerID:String):void{
var num:int=IncomStream.length;
IncomStream[num]=new NetStream(netConnection,peerID);
IncomStream[num].addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler);
IncomStream[num].play("stream");
}
где IncomStream:Vector.<NetStream> = new Vector.<NetStream>;
В общем это не работает. Такое ощущение что принимающий поток то он создаёт при получении ПирИД, но в потоке пусто. Можешь хотя бы кусочек своего примера показать? Что то я никак не догоню

Старый 03.03.2012, 20:30
dsQuadro вне форума Посмотреть профиль Отправить личное сообщение для dsQuadro Посетить домашнюю страницу dsQuadro Найти все сообщения от dsQuadro
  № 13  
Ответить с цитированием
dsQuadro
 
Аватар для dsQuadro

Регистрация: Feb 2008
Адрес: Москва
Сообщений: 238
Отправить сообщение для dsQuadro с помощью ICQ
так ты ничего и не сделал.. ты все тот же глючный групповой поток создаешь...

исходящий поток... такой только один:
Код AS3:
this.outputStream = new NetStream(this.netConnection, NetStream.DIRECT_CONNECTIONS);
сюда выводишь свой звук

входящие потоки:
Код AS3:
var inputSyream:NetStream = new NetStream(this.netConnection, peerID);
от них уже слушаешь все что приходит...

Старый 04.03.2012, 15:22
BerkutSoft вне форума Посмотреть профиль Отправить личное сообщение для BerkutSoft Найти все сообщения от BerkutSoft
  № 14  
Ответить с цитированием
BerkutSoft
 
Аватар для BerkutSoft

Регистрация: Feb 2012
Сообщений: 10
Ох респектище тебе! Это действительно работает!!

Старый 08.03.2012, 12:40
BerkutSoft вне форума Посмотреть профиль Отправить личное сообщение для BerkutSoft Найти все сообщения от BerkutSoft
  № 15  
Ответить с цитированием
BerkutSoft
 
Аватар для BerkutSoft

Регистрация: Feb 2012
Сообщений: 10
В очередной раз прочитал статью про Р2Р Multicast Explained in Flash 10.1 P2P и пришёл к выводу, что при подходе, который вы мне посоветовали получается Unicast, и он вполне себе подойдёт при не большом количестве людей, ну скажем 3-5, может чуть больше. А если в группе будет 1000 человек, то будет плохо.. Возможно вещание потоков через группы тормозит не по причине глючности групп, а по причине установления оптимальных связей в мультикаст режиме?
ЗЫ: Собственно меня смутил вот этот абзац, где говорится, что для мультикаста NetStream необходимо использовать с GroupSpecifier. Или я что то не правильно понимаю?
Цитата:
For Multicast in Flash we use NetStream class together with GroupSpecifier and NetConnection. Multicast is the most complicated thing in Flash P2P implementation and it’s very intelligent in optimizing the delivery, chunk distribution and mesh reforming. We have three types of multicast: P2P, IP and Fusion (P2P+IP). Multicast is available with Adobe Cirrus and more will be available with new FMS.


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

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

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


 


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


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