有时,在使用NetConnection连接到Red5服务器时,我会得到一个未处理的NetStatusEvent:
Error #2044: Unhandled NetStatusEvent:. level=error, code=NetConnection.Call.Failed这就是我的连接方式(唯一调用NetConnection.connect()的地方):
public function Connect(callBack:Function = null):void
{
if (IsConnected())
{
if (callBack != null)
{
callBack.call();
}
}
else // Not connected
{
netConnect.addEventListener(NetStatusEvent.NET_STATUS, function(e:NetStatusEvent):void
{
// OnConnect called whenever there is a net status event
OnConnect(e, callBack);
netConnect.removeEventListener(NetStatusEvent.NET_STATUS, arguments.callee);
});
try
{
// Attempt to connect to Media Server
netConnect.connect(MEDIA_SERVER_URI, true);
}
catch(error:Error)
{
logger.LogError("NetConnection.connect threw an exception.", error);
}
}
}我正在为NetStatusEvent.NET_STATUS添加一个事件侦听器。我的听众有时会打电话来,这怎么可能呢?
发布于 2013-07-12 15:33:15
您正在删除NetStatusEvent处理程序中的侦听器。您应该保留它,直到连接关闭。这就是为什么在删除侦听器之前只处理一次NetStatusEvent的原因。除第一个事件外,任何其他事件都将抛出该错误。
因此删除netConnect.removeEventListener(NetStatusEvent.NET_STATUS, arguments.callee);
根据正在发生的情况,NetConnection会大量调度该事件。您必须处理该事件,直到每次。有关info属性的可能值的列表,请访问此Link。还有一个如何处理页面末尾的事件的小示例。
发布于 2013-07-14 13:49:34
如果您的客户端不处理onBWCheck或onBWDone方法,您可能会看到这一点。如果您打开了带宽检测,也会发生这种情况;在服务器上,通过更改red5.properties文件中的此参数将其关闭,然后重新启动服务器。
rtmp.bandwidth_detection=false发布于 2013-12-08 02:25:31
区块引用
只是一条额外的信息。分派info.level =“NetStatusEvent”的错误对象总是会抛出一个未处理的异常。这是一个特殊的用例。例如,我包装了所有这些功能,并在重新调度事件之前将级别更改为"info“。
https://stackoverflow.com/questions/17609494
复制相似问题