доброе время суток.
столкнулся с такой проблемой. пытаюсь подключить друг к другу два приложения через 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