私は自分のマシンにFMS3.5をインストールし、次のようにmain.ascを使用して新しいアプリケーションを作成しました。
application.onAppStart = function()
{
/* Allow debugging */
this.allowDebug = true;
}
//Client is connected
application.onConnect = function( client )
{
//Accept the connection
application.acceptConnection( client );
client.allo = function(o) {
trace("test : " + o ) ;
trace("length : " + o.length ) ;
trace("objectEncoding : " + o.objectEncoding ) ;
return o ;
}
}
//Client disconnected
application.onDisconnect = function( client )
{
//Trace on the FMS Application console
trace( client+" is disconnected" );
}
このコードは、flexアプリケーションで呼び出す「allo」という名前の関数を準備し、応答として同じbyteArrayを返します。
フレックスコードは次のとおりです。
var anotherArray:ByteArray = new ByteArray();
anotherArray.objectEncoding = ObjectEncoding.AMF3;
anotherArray.writeObject(new String("foo"));
nconn.call(func, echoResponder, anotherArray);
その結果、長さ、エンコーディング、エンディアン、および位置のパラメーターのみを含む空のByteArrayを取得します。また、tcpdumpトレースは、ByteArrayが空であることを示しています。
だから、送信されるのはポインタだけなのか、それとも何かを誤って設定したのだろうか。
さらに調査したり、これを解決したりする方法を知っていますか?
助けてくれてありがとう、
MP