Показать сообщение отдельно
Старый 18.06.2015, 20:43
syegorius вне форума Посмотреть профиль Отправить личное сообщение для syegorius Найти все сообщения от syegorius
  № 1  
Ответить с цитированием
syegorius

Регистрация: Nov 2010
Сообщений: 91
По умолчанию как узнать farID при NetStatus.Play.Start

доброе время суток.

столкнулся с такой проблемой. пытаюсь подключить друг к другу два приложения через rtmfp. приложения подключаются но с одним НО! вызываемое приложение повидимому не успевает до конца инициализировать receive stream и поэтому первый запрос к нему иногда теряется, а иногда - нет, все последующие доходят нормально. я начал проверять все возможные NetStatusEventы и обнаружил что есть NetStatus.Play.Start - который и сообщает, что "все готово, теперь можно нормально разговаривать", но у этого ивента нет event.info.stream.farID как у NetStream.Connect.Success.

вот участок моего кода:

Код AS3:
public function ncStatus(event:NetStatusEvent):void {
				ExternalInterface.call("trace", '<b>flash:ncStatus('+event.info.code+')</b>')
				if (event.info.code == "NetConnection.Connect.Success") initSendStream();
				else if (event.info.code == "NetStream.Play.Start") {
					//тут как то надо достать farID клиента с которым установилась связь
				}
				else if (event.info.code == "NetStream.Connect.Success") {
					ExternalInterface.call("trace", '<b>flash:ncStatus('+event.info.stream.farID+')</b>')
					ExternalInterface.call("onPeerConnect", event.info.stream.farID)//вот эту ф-цию нужно вызывать при NetStream.Play.Start
				}
				else if (event.info.code == "NetStream.Connect.Closed") {
					if (event.info.stream.farID)onPeerDisconnect(event.info.stream.farID);
				}
				else if (event.info.code == "NetConnection.Connect.Failed") ExternalInterface.call("p2pError", "conFailed")
			}
подскажите как мне быть в такой ситуации.

ставить интервалы и задержки вообще не охота. должен же быть какой-то другой метод...

заранее благодарен за помощь!

Добавлено через 1 час 38 минут
все разобрался

Код AS3:
event.currentTarget.farID