无法使用rtmfp连接到主机

时间:2014-06-19 12:31:23

标签: actionscript-3 rtmfp adobe-cirrus

我有一个使用Adobe的rtmfp协议和卷云服务器的p2p游戏。当我在独立的Flash播放器中尝试时,一切似乎都运行良好,但是当我将游戏嵌入到网页时,突然间没有人无法连接到我的游戏。没有错误,连接只是一段时间后超时。

以下是我在主机上创建NetConnection的方法:

netConnection = new NetConnection();
netConnection.maxPeerConnections = 20;
netConnection.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
netConnection.connect("rtmfp://p2p.rtmfp.net/3a34e[redacted]af45f80/");


public function onNetStatus(event:NetStatusEvent) : void
{
    var peer:P2PNetPeer = null;
    switch(event.info.code) {
        case "NetConnection.Connect.Success": 
            streamOut = new NetStream(netConnection, NetStream.DIRECT_CONNECTIONS);
            streamOut.client = {onPeerConnect:onPeerConnect};
            streamOut.publish(netConnection.nearID);
        break;
}

在客户端几乎相同,除非我获得NetConnection.Connect.Success我创建inStream:

 streamIn = new NetStream(netConnection, farId);
 streamIn.client = {msg:onMessageReceived};
 streamIn.addEventListener(NetStatusEvent.NET_STATUS, onInStreamStatus, false, 0, true);
 streamIn.play(farId);

这个inStream是导致问题的那个,它从不连接到他的farId指定的主机(如果游戏是从网页运行的话,我将玩家与使用我自己的服务器的/ farIds交换)。当我使用独立播放器在本地运行时,它几乎立即连接。

我正在检查其他状态和错误,但它们在这里并不重要(如上所述,我没有收到任何错误,只是一段时间后超时)

知道这里可能会发生什么吗?

0 个答案:

没有答案