什么阻碍NetStream.onPeerConnect被触发?

我正在使用Adobe Stratus(现在更名为Cirrus)来构建p2p应用程序。在应用程序内部,我使用了NetStream.onPeerConnect回调函数,并期望每次连接对等时都会触发它。然而,它总是失败了我的朋友A而奇怪的朋友B设法有没有任何问题调用的功能。 我想知道这个问题可能是什么原因? 以下是代码片段的外观。 首先,创建一个NetConnection。
netConnection = new NetConnection();
netConnection.addEventListener(NetStatusEvent.NET_STATUS, netConnectionHandler);
netConnection.connect(SERVER_ADDRESS+DEVELOPER_KEY);
其次,在NetConnection上创建NetStream成功连接。
private function netConnectionHandler(event:NetStatusEvent):void{

    switch (event.info.code){
        case "NetConnection.Connect.Success":

            sendStream = new NetStream(netConnection, NetStream.DIRECT_CONNECTIONS);
            sendStream.addEventListener(NetStatusEvent.NET_STATUS, netStreamHandler);

            var sendObj:Object = new Object();
            sendObj.onPeerConnect = function(subscriber:NetStream) : Boolean {

                trace("[onPeerConnect] far id: " + subscriber.farID);
                return true;
            } 
            sendStream.client = sendObj;
            sendStream.publish("file");
            ......
第三,这是我如何在两个对等体之间建立连接
    receivedStream = new NetStream(netConnection, farId);
    receivedStream.client = this;
    receivedStream.addEventListener(NetStatusEvent.NET_STATUS, incomingStreamHandler);
    receivedStream.play("file");
请帮忙赐教。谢谢!     
已邀请:
原来我的朋友A是对称NAT的背后。我正在考虑为我们建立一个TURN服务器来建立一个成功的连接。     

要回复问题请先登录注册