Я пытаюсь добавить пользовательский обработчик обратного вызова в клиент NetStream в приложении p2p. Проблема в том, что когда я добавляю такой обработчик, клиент NetStream не работает так, как раньше. Кажется, объект NetStream.client изменился. Я знаю, что объект по умолчанию это. Но изменение клиента на это не решает проблему.
remoteControlStream - это входящий поток. И поток localControl - это публикуемый поток
Это localControlStream, который отправляется партнером и принимается как remoteControlStream:
private function initLocalControlStream():void{
localControlStream = new NetStream(nc, NetStream.DIRECT_CONNECTIONS);
localControlStream.addEventListener(NetStatusEvent.NET_STATUS, localControlHandler);
localControlStream.publish(myPeerID+"control");
var localControlStreamClient:Object = new Object();
localControlStreamClient.onPeerConnect = function(callerns:NetStream):Boolean{
txtTest.text = "peer connected";
if(side=="host"){
farPeerID = callerns.farID;
if(!allreadyConnected){
initRemoteControlStream();
allreadyConnected = true;
}
}
return true;
}
localControlStream.client = localControlStreamClient;
}
Это NetStream, который получает поток :
private function initRemoteControlStream():void{
txtTest.text = "setting up remote stream";
if(side=="client"){
farPeerID = this.parameters.hostFingerprint;
}
remoteControlStream = new NetStream(nc, farPeerID);
remoteControlStream.addEventListener(NetStatusEvent.NET_STATUS, remoteControlHandler);
remoteControlStream.client.test = new function():void{
txtTest.text = "Callback handler working";
}
remoteControlStream.play(farPeerID+"control");
remoteControlStream.client = this;
}
Я добавляю обработчик к remotecControlStream следующим образом (как указано выше):
remoteControlStream.client.test = new function():void{
txtTest.text = "Callback handler working";
}
Метод onPeerConnect в localControlStream не вызывается при подключении, когда добавлен вышеуказанный обработчик. Когда я удаляю этот обработчик, вызывается метод onPeerConnect.
Любой, у кого есть советы или идеи. Очевидно, что проблема заключается в NetStream.client.
Ваша помощь очень ценится.
Gerard