Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash AS3事件中的超时_Flash_Actionscript 3_Events_Netconnection - Fatal编程技术网

Flash AS3事件中的超时

Flash AS3事件中的超时,flash,actionscript-3,events,netconnection,Flash,Actionscript 3,Events,Netconnection,我有一个NetConnection对象: myNetConnection = new NetConnection(); myNetConnection.addEventListener(NetStatusEvent.NET_STATUS, statusHandler); myNetConnection.connect("rtmp://address"); 在handler中,请执行以下操作: private function statusHandler(event:NetStatusEvent

我有一个NetConnection对象:

myNetConnection = new NetConnection();
myNetConnection.addEventListener(NetStatusEvent.NET_STATUS, statusHandler);
myNetConnection.connect("rtmp://address");
在handler中,请执行以下操作:

private function statusHandler(event:NetStatusEvent):void
            {
                switch (event.info.code)
                {
                    case "NetConnection.Connect.Success": 
                    {
                        trace("ok");
                        break;
                    }
                    case "NetConnection.Connect.Failed":
                    {
                        trace("Some problems, NetConnection.Connect.Failed");
                        break;
                    }
                }
            }
所以,如果一切正常-我在调试控制台中很快看到“ok”。 但如果有任何问题-“一些问题,NetConnection.Connect.Failed”我等待了很长时间后才看到。
我的问题-我如何能更快地看到“一些问题,NetConnection.Connect.Failed”(作为“ok”fast)?

您很可能不能。事件被尽可能快地触发,是连接失败花费了很长时间才显现出来

在我看来,问题在于连接尝试超时。Flash尝试连接并设置计时器,如果计时器在建立连接之前触发,则Flash断定资源不可用。你不能一次就得到一个失败,因为连接不会失败,直到计时器启动


Flash无法立即告诉您资源不可用,因为有时服务器会在几毫秒内响应,但有时可能需要几秒钟。

您很可能无法。事件被尽可能快地触发,是连接失败花费了很长时间才显现出来

在我看来,问题在于连接尝试超时。Flash尝试连接并设置计时器,如果计时器在建立连接之前触发,则Flash断定资源不可用。你不能一次就得到一个失败,因为连接不会失败,直到计时器启动


Flash无法立即告诉您资源不可用,因为有时服务器会在毫秒内响应,但有时可能需要几秒钟。

这里的问题是,如果Flash Player无法使用正常协议(RTMP,端口1935)连接到服务器它会自动尝试使用回退协议和端口建立连接。正常顺序为:

netConnection.connect(“rtmp://myserver/myapp"); //使用默认端口1935 netConnection.connect(“rtmp://myserver:443/myapp"); netConnection.connect(“rtmp://myserver:80/myapp"); netConnection.connect(“rtmpt://myserver:80/myapp");

所有这些尝试都会增加连接的最终超时

发生此自动重试序列 仅当初始连接 指定RTMP协议和使用 默认端口--例如, 我的nc.connect(“rtmp://myserver/myapp"


您可以找到更多信息。

这里的问题是,如果Flash Player无法使用正常协议(RTMP,端口1935)连接到服务器,它会自动尝试使用回退协议和端口建立连接。正常顺序为:

netConnection.connect(“rtmp://myserver/myapp"); //使用默认端口1935 netConnection.connect(“rtmp://myserver:443/myapp"); netConnection.connect(“rtmp://myserver:80/myapp"); netConnection.connect(“rtmpt://myserver:80/myapp");

所有这些尝试都会增加连接的最终超时

发生此自动重试序列 仅当初始连接 指定RTMP协议和使用 默认端口--例如, 我的nc.connect(“rtmp://myserver/myapp"

您可以找到更多信息