Flash AS3事件中的超时
我有一个NetConnection对象: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
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" 您可以找到更多信息