Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как узнать farID при NetStatus.Play.Start (http://www.flasher.ru/forum/showthread.php?t=211062)

syegorius 18.06.2015 20:43

как узнать 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



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

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