私のアプレットは、RTMFP を使用して FMS4.5 に接続します。1 つの NetConnection を開き、NetStream を使用してサーバーからアプレットにビデオをストリーミングします。アプレットまたはサーバーで関数を実行する場合は、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() の信頼性は内部で処理され、これは不要ですか?