このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
php:7.2:ext:zmq [2020/11/24 11:36] y2sunlight [DLLの確認] |
php:7.2:ext:zmq [2020/11/27 15:53] (現在) y2sunlight [テストコード] |
||
---|---|---|---|
行 157: | 行 157: | ||
===== テストコード ===== | ===== テストコード ===== | ||
- | ZeroMQのインストールが出来たので、request-reply パターンのソケットを作って動作テストを行ってみましょう。 | + | ZeroMQのインストールが出来たので、request-reply パターンのソケットの動作テストを行ってみましょう。 |
- | サーバーは zeromq/ | + | サーバーは |
* https:// | * https:// | ||
行 180: | 行 180: | ||
</ | </ | ||
- | '' | + | '' |
- | 以下は、クライアントです。githubの例題には適当なものがなかったので、以下のように作りました。 | + | クライアントは、githubの例題には適当なものがなかったので、以下のように作りました。 |
<code php simple-client.php> | <code php simple-client.php> | ||
行 192: | 行 192: | ||
/* Create a socket */ | /* Create a socket */ | ||
- | $queue = new \ZMQSocket(new | + | $queue = new ZMQSocket(new ZMQContext(), |
$queue-> | $queue-> | ||
$queue-> | $queue-> | ||
行 200: | 行 200: | ||
</ | </ | ||
- | '' | + | '' |
ZeroMQの特徴なのですが、'' | ZeroMQの特徴なのですが、'' | ||
- | では、コマンドプロンプトを2つ起動し、プロジェクトフォルダに移動してクライアントから起動します。 | + | コードが出来たら、コマンドプロンプトを2つ起動し、プロジェクトフォルダに移動してクライアントを起動します。 |
<code dos> | <code dos> | ||
行 210: | 行 210: | ||
</ | </ | ||
- | クライアントはサーバーが起動しエコーバックされるのを待ちまます。 | + | クライアントは、サーバーが起動しエコーバックされるのを待ちます。 |
別のコマンドプロンプトからサーバーを起動します。 | 別のコマンドプロンプトからサーバーを起動します。 | ||
行 219: | 行 219: | ||
</ | </ | ||
- | サーバーを起動直後に、クライアントにメッセージが返され、クライアントは終了します。 | + | サーバーは、起動直後、クライアントにメッセージを返し、クライアントは終了します。 |
- | <code dos> | + | もう一度、クライアントを起動します(今度は「Hi!」と送ってみましょう)。 |
- | > php simple-client.php | + | |
- | Hello | + | |
- | </ | + | |
- | + | ||
- | もう一度、クライアントを起動します(今度は「Hi!」と言ってみましょう)。 | + | |
<code dos> | <code dos> | ||
行 237: | 行 232: | ||
=== request-reply パターン === | === request-reply パターン === | ||
- | クライアントのセットをサービスのセットに接続します。これは、リモートプロシージャコールまたはタスクの分散パターンと同じです。同期('' | + | request-reply パターンは、クライアントをサービスに接続します。これは、リモートプロシージャコールと同じです。同期('' |
* https:// | * https:// |