AS3 - 使用RTMFP / UDP进行NetConnection呼叫的可靠性?

时间:2012-07-23 19:20:55

标签: actionscript-3 flex rtmfp

我的applet使用RTMFP连接到FMS4.5。我打开一个NetConnection并使用NetStream将视频从服务器流式传输到applet。当我想在applet或服务器上执行一个函数时,我使用NetConnection.call();

我的问题是AS3是否在内部做任何事情以确保通过UDP发生呼叫或是否存在UDP丢失的风险并且在调用它时该功能永远不会发生?

假设UDP流量有时会丢失,我会让响应者重试onStatus。这段代码看起来是否真的能完成这项工作还是过度杀伤?

// This is code on FMS to call a function in the applet.

var networkRetryMax = 30;
if (something == true) doSomethingInApplet(client, 0);


function doSomethingInApplet (client, retryCount) {
    if (retryCount < networkRetryMax) {
        retryCount++;
        client.call("funcNameInApplet", new doSomethingInAppletResponder(client, retryCount), "foobar");
    }
    return;
}


function doSomethingInAppletResponder (client, retryCount) {
    this.onResult = function() {...}
    this.onStatus = function() {doSomethingInApplet(client, retryCount);}
    return;
}

和...

// This is code in the applet.
// I return true to give it something to onResult or onStatus.

public static function funcNameInApplet(result:String):Boolean {
    trace("Result: " + result);
    return true;
}

这样可以确保通过UDP / RTMFP调用该函数吗?

或者内部是否处理.call()可靠性,这是不必要的?

0 个答案:

没有答案