PHP 用の PHPRPC

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 14:36:121010ブラウズ

PHPRPC は、軽量、安全、クロスインターネット、クロス言語、クロスプラットフォーム、クロス環境、クロスドメインであり、複雑なオブジェクトの送信をサポートし、参照パラメーターの受け渡しをサポートし、コンテンツ出力のリダイレクトをサポートし、階層的なエラー処理をサポートします、セッション対応、サービス指向の高性能リモート プロシージャ コール プロトコル。
ダウンロードアドレス: http://www.phprpc.org/zh_CN/download/
このバージョンは、
が公開ファイルであるため、解凍後直接使用できます。クライアントとサーバーの両方にこれらのファイルが必要です。
クライアントを使用するだけの場合は、上記のパブリック ファイルとこのファイルがあれば、それを使用できます。 使用する場合は、プログラムに phprpc_client.php を直接インクルードするだけです。ファイルを分離する必要はありません。
これら3つのファイルはサーバー側で必要なファイルです。
dhparams ディレクトリには、暗号化された送信中にキーを生成するために使用されるパラメーターが含まれています。
dhparams.php は、dhparams ディレクトリ内のファイルを読み取るために使用されるクラスです。
phprpc_server.php はサーバー側です。PHP を使用して PHPRPC サービスを公開する場合は、このファイルを含めるだけです。パブリック ファイルも dhparams.php も個別に含める必要はありません。
PHP 4.3+、PHP 5、PHP 6
クライアントではソケット拡張を有効にする必要があります。
サーバー側には、IIS、Apache、lighttpd、および PHP プログラムを実行できるその他の Web サーバーが必要です。
サーバーが送信を暗号化する機能を必要とする場合は、セッション構成が正しいことを確認する必要があります。
include('php/phprpc_server.php'); //ファイルをロードします
function hello($name) {
return'Hello ' . $name}
$server = new PHPRPC_Server(); /サーバーを作成します
$server->add(array('hello', 'md5', 'sha1')); //複数の関数を配列形式で一度に登録します
$server->add('trim' ); //単一の登録
$server->start(); //サービスを開始
include ("php/phprpc_client.php"); //ファイルをロードします
$client = new PHPRPC_Client( 'http://127.0.0.1/server.php'); //クライアントを作成し、サーバーファイルに接続します
echo$client->Hello("word"); //メソッドを呼び出して hello を返します。言葉
?>
------------------------------------------ ----- -------------------------------------- - -----------------------------
サーバーに関するその他の命令:
include('php/ phprpc_server .php'); //ファイルをロードします
function hello($name) {
return'Hello ' . $name;
class Example1 {
return'foo'; ( ) {
return'bar';
}
}
$server = new PHPRPC_Server(); //サーバーを作成
$server->add('foo', 'Example1'); //静的メソッドを直接呼び出す
$server->add('bar', new Example1()); //非静的メソッドをインスタンス化する必要があります
//エイリアス呼び出しを登録します
$server->add('hello', NULL, 'hi '); // 3 番目のパラメータは関数のエイリアスです。クライアントはエイリアス
$server->add('foo', 'Example1', 'ex1_foo'); を使用して関数を呼び出します。 add('bar', new Example1(), 'ex1_bar');
$server->setCharset('UTF-8'); //エンコーディングを設定します
$server->setDebugMode(true);
$server->setEnableGZIP (true); //圧縮出力を有効にすると、送信されるデータ量は削減できますが、より多くのメモリと CPU を占有するため、デフォルトではオフになっています。
$server->start(); // サービスを開始します
?> ---------------------------------------------------- ----- -------------------------------------- ------
クライアント その他の命令:
include ("php/phprpc_client.php");
$client->useService('http:// 127.0.0.1/server.php' ); //リモート呼び出しアドレス
$client->setKeyLength(1000); //キーの長さ
$client->setEncryptMode(3); //暗号化レベル 0-3
$ client->setCharset(' UTF-8'); // エンコーディングを設定
$client->setTimeout(10); // タイムアウトを設定
echo$client->hi('PHPRPC'), "rn"; //関数を呼び出します
echo $client->getKeyLength(), "rn"; //以下は戻り値です
echo$client->getEncryptMode(), "rn"; (), "rn";
echo$client->getTimeout(), "rn";
---------------------- ----------- -------------------------------------- ------------ -------------------------------------- ----------
セッションについて
include('php/phprpc_server.php');
class ExampleCounter {
function ExampleCounter() {
if (!isset($_SESSION['カウント'])) {
$_SESSION['カウント'] = 0;
}
}
function inc() {
$_SESSION['count'] += 1;
return$_SESSION ['カウント'];
}
}
$server = 新しい PHPRPC_Server() ;$server->add(array('inc', 'count'), new ExampleCounter());
$server->start()
?>
include("php/phprpc_client .php");
$client = newPHPRPC_Client();
$client->useService('http://127.0.0.1/1.php');
$client->setTimeout(10);
echo $ client->inc();
echo $client->count();
毎回更新は新しく作成されたクライアントであり、サーバーはそれを認識できません

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:{php配列}次の記事:{php配列}