ホームページ  >  記事  >  ウェブフロントエンド  >  DNodeを使用してphpとnodejs_node.js間の通信を実装する簡単な例

DNodeを使用してphpとnodejs_node.js間の通信を実装する簡単な例

WBOY
WBOYオリジナル
2016-05-16 15:51:171102ブラウズ

1. DNode をインストールします

1、nodejs の場合、
を実行します

コードをコピー コードは次のとおりです:

$ sudo npm install dnode

2、php の場合、composer を使用して DNode php をインストールします

次のステートメントを実行してコンポーザーをダウンロードします

コードをコピー コードは次のとおりです:

ファイルcomposer.jsonを作成し、次のステートメントを入力します。
コードをコピー コードは次のとおりです:

{
"必要": {
"dnode/dnode": "0.2.0"
}
}

次のステートメントを実行してインストールします。

コードをコピーします コードは次のとおりです:

$ sudo php combos.phar install

2. nodejs を使用して、単純なサーバー プログラム、server.js
を作成します。

コードをコピー コードは次のとおりです:

var dnode = require('dnode');
var サーバー = dnode({
zing: function (n, cb) { cb(n * 100) }
});
サーバー.listen(7070);

3. PHP を使用してクライアント プログラム client.php を作成します。このプログラムは、インストールした dnode フォルダー内のファイル autoload.php を参照する必要があります
コードをコピー コードは次のとおりです:

// ポート 7070 で実行されている DNode サーバーに接続し、
を呼び出します。 // 引数 33 で Zing
'lib/vendor/autoload.php' が必要です;


// これは DNode
に公開するクラスです クラス温度
{
// クライアントの温度を計算し、その値をコールバックに組み込みます
公共機能温度($cb)
{
}
}

$loop = new ReactEventLoopStreamSelectLoop();
$dnode = 新しい DNodeDNode($loop, new Temp());
$dnode->connect(7070, function($remote, $connection) {
// リモートはすべてのメソッドを提供するプロキシ オブジェクトです
// サーバーから
$remote->zing(33, function($n) use ($connection) {
echo "n = {$n}n";
// 結果が得られたら、接続を閉じることができます
$connection->end();
});
});
$loop->run();
?>


4. サーバー側を実行します
コードをコピーします コードは次のとおりです:

$ ノードサーバー.js

5. クライアントを実行してサーバープログラムを呼び出します
コードをコピー コードは次のとおりです:

$ php client.php

これはサーバー側の加算ルーチンを呼び出し、結果を出力します
コードをコピー コードは次のとおりです:

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