1

フラッシュ メディア サーバー 3.5 から Zend_Amf (最新の ZendFramework バージョン) に接続できるようにしたいと考えています。私は次のことを試しました:

function amfresponder ( ) {
this.onResult = function (result) {
    trace("Success: " + String(result));
};
this.onStatus = function (fault) {
    trace("Error: "+ fault.description);
};
};


application.onConnect = function(client) {

myResponder = new amfresponder();

connection = new NetConnection();

connection.connect("http://localhost/AmfServer.php");
trace("checking connection");
connection.call("isConnected",myResponder);

return true;    
}

AmfServer.php のリクエストが行われたが、何も返されず、エラー メッセージも返されないことが Apache アクセス ログに表示されます。fms 管理ログには、「接続を確認しています」としか表示されません。

アップデート

別のアプローチ:

application.isFine_Status = function(info) {
  for(var item in info) {
    trace(item + " " + info[item]);
  } 
}

application.isFine_Result = function(res) {
    trace(res);
}

application.onAppStart = function() {
trace("application started");
NetServices.setDefaultGatewayUrl("http://localhost/AmfServer.php");
    this.gatewayconn = NetServices.createGatewayConnection();   
    this.pservice = this.gatewayconn.getService('PrivateFunc',this);
    this.pservice.isFine();
}

Zend_Amf クラスは次のとおりです。

set_include_path(get_include_path().PATH_SEPARATOR.realpath(__DIR__.'/../').PATH_SEPARATOR.realpath(__DIR__.'/../../include/PEAR-R2'));

require_once('Zend/Amf/Server.php');
require_once('PrivateFunc.php');

$server = new Zend_Amf_Server();
$server->setClass('PrivateFunc','PrivateFunc');
$response = $server->handle();
echo $response;

どちらの場合も、これまでに何の結果もありません。何か案は?

4

2 に答える 2

1

以下のコードを試してみてください。

setClass("PrivateFunc"); // サーバーの起動に必要 $handle = $server->handle(); エコー($ハンドル); //echo($server->handle()); ?>
于 2010-06-15T12:54:09.297 に答える
0

さて、多くの調査の結果、現在、Adobe Flash Media Server から zend_amf への適切な接続を行うことができないようです。

私はアドビフラッシュメディアサーバーから無料のソリューションred5に移行することで問題を解決しました。red5 は非常に強力なプログラミング言語を提供する Java ベースであるため、関連するコードを php から Java に変換しました。すべて (db 操作) は red5 で行われ、php はすべて必要ありません。

于 2010-01-10T15:12:49.453 に答える