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

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

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

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
По умолчанию не срабатывает onPeerConnect

Здравствуйте
Быть може кто-то уже делал чат на Flash (не на Flex) с использованием Adobe Stratus
У меня не срабатывает onPeerConnect, хотя и одна и другая флэшка подключаются к Стратусу

Вот код
Код AS3:
package {
	import flash.events.*;
	import flash.net.*;
	import flash.display.*;
 
	public class stratusTest extends MovieClip {
		private var stratusGo:String="rtmfp://stratus.rtmfp.net/";
		private var devKey:String="efb549452e48f663eedd1a3a-c09a61816fac";
 
		private var nc:NetConnection;
		private var nc1:NetConnection;
		private var fms;
		private var stratus:Boolean;
		private var myPeerID;
		private var farPeerID;
 
		private var sendStream:NetStream;
		private var recvStream:NetStream;
 
 
		public function stratusTest() {
			addEventListener("addedToStage",initThis);
		}
		private function initThis(e:Event) {
			connectToStratusBTN.addEventListener("mouseDown",connectToStratusBTNPress);
			initSendStreamBTN.addEventListener("mouseDown",initSendStream);
			initReceiveStreamBTN.addEventListener("mouseDown",initRecvStream);
		}
		private function connectToStratusBTNPress(e:MouseEvent) {
			initStratus();
		}
 
		private function initSendStream(e:MouseEvent){
			trace("initSendStream");
			sendStream=new NetStream(nc,NetStream.DIRECT_CONNECTIONS);
			sendStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
			sendStream.publish("media");
 
			var sendStreamClient:Object = new Object();
 
			sendStreamClient.onPeerConnect = function(callerns:NetStream):Boolean{
				farPeerID = callerns.farID;
				trace("!!! onPeerConnect "+farPeerID);
				INF.appendText("!!! onPeerConnect "+farPeerID+"\n");
				return true;
			};
			sendStream.client=sendStreamClient;
		}
		//private function 
		private function initRecvStream(e:MouseEvent){
			farPeerID = connectTo_peerIDText.text;
			recvStream=new NetStream(nc,farPeerID);
			recvStream.addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler);
			recvStream.play("media");
			recvStream.client=this;
		}
		private function netStatusHandler(event:NetStatusEvent):void{
			trace("netStatusHandler: "+event.info.code);
			INF.appendText("netStatusHandler: "+event.info.code+"\n");
		}
		private function initStratus():void {
			INF.appendText("connecting to Stratus...\n ");
			nc = new NetConnection();
			nc.connect(stratusGo+devKey);
			farPeerID = connectTo_peerIDText.text;
			INF.appendText("connecting to Peer: "+farPeerID);
			nc.addEventListener(NetStatusEvent.NET_STATUS,stratusNCStatus);
		}
		private function stratusNCStatus( p_e:NetStatusEvent ):void {
			var code:String=p_e.info.code;
			myPeerID=nc.nearID;
			trace("onNCStatus "+code);
			trace("myPeerID "+myPeerID);
 
			INF.appendText("onNCStatus "+code+"\n");
			INF.appendText("myPeerID "+myPeerID+"\n");
 
			MY_peerIDText.text=myPeerID;
 
			if (code=="NetConnection.Connect.Success") {
				trace("Stratus Success");
				stratus=true;
				INF.appendText("Stratus Success");
				//nameSplash.niShower.text=nc.nearID;
			} else if (code == "NetConnection.Connect.Fail") {
				trace("Stratus: FAIL!");
				INF.appendText("Stratus: FAIL!");
			} else if (code == "NetStream.Connect.Success") {
				trace("Stratus: Success!");
				INF.appendText("Stratus: Success!");
			} else if (code == "NetStream.Connect.Closed") {
				trace("Stratus: Closed!");
				INF.appendText("Stratus: Closed!");
			}
		}
 
 
	}
}

Старый 26.04.2010, 20:08
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Откуда вы взяли урл rtmfp://stratus.rtmfp.net/?
У стратуса rtmfp://stratus.adobe.com/
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
Stratus Developer Key

Your Stratus developer key is:
efb549452e48f663eedd1a3a-c09a61816fac

To connect to the Stratus service, open an RTMFP NetConnection to:
rtmfp://stratus.rtmfp.net/efb549452e48f663eedd1a3a-c09a61816fac/

Use the new end-to-end publishing and playback APIs on NetStreams associated with that NetConnection to send live video and audio directly between Flash Player clients.

Additional developer documentation may be found in the Flash Player 10 API documentation for the NetConnection and NetStream ActionScript classes, the Stratus FAQ, and the Developing End-to-End Applications using Flash Player 10 and Stratus Service article in the Adobe Developer Center.


Вот отсюда


Пробовал изменить на rtmfp://stratus.adobe.com/ - все равно не срабатывает


Последний раз редактировалось djyamato; 26.04.2010 в 20:12.
Старый 26.04.2010, 20:40
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Да, адрес рабочий.

У вас дважды встречается строчка
Цитата:
farPeerID = connectTo_peerIDText.text;
Откуда вы берете текст в connectTo_peerIDText.text?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
я сначала запускаю одну флэшку, затем, когда она соединилась с сервисом Стратуса, из нее копирую полученный ID и вставляю его в connectTo_peerIDText в другой флэшке

Вот сама флэшка http://divisionby0.org/stratus_test/stratusTest.zip

Кстати, тестирую в локале из-под Денвера но не думаю что это может стать причиной же. Или из-за этого ?


Последний раз редактировалось djyamato; 26.04.2010 в 21:02.
Старый 26.04.2010, 21:00
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
У меня нет CS4. И вообще счастье, что CS3 есть, ибо я им не пользуюсь.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 22.09.2010, 06:09
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 7  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
Тогда доделал на флексе
Но сейчас наткнулся на адобовском форуме на подобные темы и вот какой код оттуда на бумажечку переписал :

Код AS3:
 
netStream.client = {
     onPeerConnect:function(ns:NetStream):Boolean {
          trace("onPeerConnect", ns.farID);
     }
}
Сам не пробовал, но утверждают что работает.

Старый 02.11.2010, 01:04
3p.station вне форума Посмотреть профиль Отправить личное сообщение для 3p.station Найти все сообщения от 3p.station
  № 8  
Ответить с цитированием
3p.station
 
Аватар для 3p.station

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
таже история... дето прочитал, что GC жрет этот стримы. (странно ведь ссыль на него нормальная), но вобщем добавил в массив на всяк случай. - не работет
причем что широковещательная тема от NetGroup работает нормально. (но мне нужно, что бы, когда пользователи нашлись они уеденялись - а не слушали еще весь шум...)
у кого получилось ? отзовитесь плиз
__________________
мира и гармонии

Старый 02.11.2010, 01:33
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 9  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
http://flexconstructor.blogspot.com/...e-stratus.html
дельный урок, там описаны замечания, советую их почитать. Имхо аккурат на вашу тему.

Старый 02.11.2010, 01:42
3p.station вне форума Посмотреть профиль Отправить личное сообщение для 3p.station Найти все сообщения от 3p.station
  № 10  
Ответить с цитированием
3p.station
 
Аватар для 3p.station

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
ага, как раз там и описано что GC съедает. скачал я его код - тож самое - нету коннекта. там кстате коммент с такой-же проблемой.
странно , может пока это прикрыли там на циррусе...

http://cc.rtmfp.net/ по этому тесту меня все хорошо.

тут пример (for Builder) - очень простой самый простой который я нашел на
http://www.flashrealtime.com/basics-of-p2p-in-flash/ (сейчас сайт лежит)
там даже видео туториал есть - все сделал по нему. сверился с разными вариациями.
Вложения
Тип файла: zip p2p.zip (1.2 Кб, 102 просмотров)
__________________
мира и гармонии


Последний раз редактировалось 3p.station; 02.11.2010 в 02:00.
Создать новую тему Ответ Часовой пояс GMT +4, время: 19:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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