2012-02-21 40 views
3

我正在创建p2p Cirrus视频聊天。 我目前的问题是如何自动连接到用户,它连接到我的流。后,一些谷歌上搜索,我发现我可以用接下来的建设它:Flex,如何从连接到我的流的远程用户获取对等ID?

var clientObject:Object = new Object(); 
        clientObject.onPeerConnect = function(callerns:NetStream):Boolean{    

         return true; 
        } 

我流:

发送流:

private function initSendNetStream():void{ 
       trace("initSendStream"); 

       sendStream = new NetStream(nc,NetStream.DIRECT_CONNECTIONS); 
       sendStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusEvent); 
       var clientObject:Object = new Object(); 
       clientObject.onPeerConnect = function(callerns:NetStream):Boolean{    

        return true; 
       } 

       sendStream.client = clientObject; 
       sendStream.attachCamera(cam); 
       sendStream.attachAudio(mic); 
       sendStream.publish('video'); 
       log('Net Stream publish start'); 
      } 

和接收流:

private function addContact(peerID:String):void { 


      var nc2:NetConnection = new NetConnection(); 
      nc2.addEventListener(NetStatusEvent.NET_STATUS, function (event:NetStatusEvent):void { 
       trace('NetConnection status event (2): ' + event.info.code); 
       var receiveNS:NetStream = new NetStream(nc2, /*ContactPeerID.text*/ peerID); 
       receiveNS.addEventListener(NetStatusEvent.NET_STATUS, netStatusEvent); 
       receiveNS.play('video'); 

       var video:Video = new Video(); 
       video.attachNetStream(receiveNS); 

       var uic:UIComponent = new UIComponent(); 
       uic.width = 320; 
       uic.height = 240; 
       uic.addChild(video); 
       uic.toolTip = txtData.selectedItem.name; 
       VideoStack.addChild(uic); 

       //Clean ContactPeerID form 
       ContactPeerID.text = ''; 
      }); 
      nc2.connect(SERVER_ADDRESS+DEVELOPER_KEY);    
     }   

我的想法是在这个建筑里面加上联系功能:

var clientObject:Object = new Object(); 
         clientObject.onPeerConnect = function(callerns:NetStream):Boolean{    

          return true; 
         } 

但是,为了做到这一点,我应该检测并接收订阅者的ID,以便将其放入函数中。 我的第二个问题 - 如何做到这一点?我试图用远程共享对象来做到这一点,但我不知道这个结构究竟应该如何看待我的情况。

希望有人帮助我解决这个问题。先谢谢你!

回答

0

我不确定你要实现什么样的p2p连接架构。 但为了找出连接节点的ID,你可以试试这个:

callerns.farID 

的onPeerConnect函数内。

相关问题