このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
php:7.2:ext:zmq [2020/11/24 11:32] y2sunlight [概要] |
php:7.2:ext:zmq [2020/11/27 15:53] y2sunlight [テストコード] |
||
---|---|---|---|
行 45: | 行 45: | ||
■ [DLL List] から [7.2 Thread Safe (TS) x64]を選択し、以下のファイルをダウンロードします。 | ■ [DLL List] から [7.2 Thread Safe (TS) x64]を選択し、以下のファイルをダウンロードします。 | ||
- | * php_zmq-1.1.3-7.2-ts-vc15-x64.zip | + | < |
+ | php_zmq-1.1.3-7.2-ts-vc15-x64.zip | ||
+ | </ | ||
=== 配置 === | === 配置 === | ||
行 90: | 行 92: | ||
</ | </ | ||
- | '' | + | '' |
==== DLLの確認 ==== | ==== DLLの確認 ==== | ||
- | 外部からダウンロードした拡張モジュールのDLLを手動でインストールする場合は、設置場所を間違えたり依存関係のある他のモジュールが不足していたりする場合が少なくありません。従って、拡張モジュールを使用する前に、正常にロードされているか否かを確認しておきます。 | + | 外部からダウンロードした拡張モジュールのDLLを手動でインストールする場合は、設置場所を間違えたり、依存関係のある他のモジュールが不足していたりする場合が少なくありません。従って、拡張モジュールを使用する前に、正常にロードされているか否かを確認しておきます。 |
php.exeのあるフォルダに移動します (ここでは '' | php.exeのあるフォルダに移動します (ここでは '' | ||
行 155: | 行 157: | ||
===== テストコード ===== | ===== テストコード ===== | ||
- | ZeroMQのインストールが出来たので、request-reply パターンのソケットを作って動作テストを行ってみましょう。 | + | ZeroMQのインストールが出来たので、request-reply パターンのソケットの動作テストを行ってみましょう。 |
- | サーバーは zeromq/ | + | サーバーは |
* https:// | * https:// | ||
行 178: | 行 180: | ||
</ | </ | ||
- | '' | + | '' |
- | 以下は、クライアントです。githubの例題には適当なものがなかったので、以下のように作りました。 | + | クライアントは、githubの例題には適当なものがなかったので、以下のように作りました。 |
<code php simple-client.php> | <code php simple-client.php> | ||
行 190: | 行 192: | ||
/* Create a socket */ | /* Create a socket */ | ||
- | $queue = new \ZMQSocket(new | + | $queue = new ZMQSocket(new ZMQContext(), |
$queue-> | $queue-> | ||
$queue-> | $queue-> | ||
行 198: | 行 200: | ||
</ | </ | ||
- | '' | + | '' |
ZeroMQの特徴なのですが、'' | ZeroMQの特徴なのですが、'' | ||
- | では、コマンドプロンプトを2つ起動し、プロジェクトフォルダに移動してクライアントから起動します。 | + | コードが出来たら、コマンドプロンプトを2つ起動し、プロジェクトフォルダに移動してクライアントを起動します。 |
<code dos> | <code dos> | ||
行 208: | 行 210: | ||
</ | </ | ||
- | クライアントはサーバーが起動しエコーバックされるのを待ちまます。 | + | クライアントは、サーバーが起動しエコーバックされるのを待ちます。 |
別のコマンドプロンプトからサーバーを起動します。 | 別のコマンドプロンプトからサーバーを起動します。 | ||
行 217: | 行 219: | ||
</ | </ | ||
- | サーバーを起動直後に、クライアントにメッセージが返され、クライアントは終了します。 | + | サーバーは、起動直後、クライアントにメッセージを返し、クライアントは終了します。 |
- | + | ||
- | <code dos> | + | |
- | > php simple-client.php | + | |
- | Hello | + | |
- | </ | + | |
- | もう一度、クライアントを起動します(今度は「Hi!」と言ってみましょう)。 | + | もう一度、クライアントを起動します(今度は「Hi!」と送ってみましょう)。 |
<code dos> | <code dos> | ||
行 235: | 行 232: | ||
=== request-reply パターン === | === request-reply パターン === | ||
- | クライアントのセットをサービスのセットに接続します。これは、リモートプロシージャコールまたはタスクの分散パターンと同じです。同期('' | + | request-reply パターンは、クライアントをサービスに接続します。これは、リモートプロシージャコールと同じです。同期('' |
* https:// | * https:// |