Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


php:7.2:ext:zmq

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
php:7.2:ext:zmq [2020/11/24 11:38]
y2sunlight [テストコード]
php:7.2:ext:zmq [2020/11/27 15:53] (現在)
y2sunlight [テストコード]
行 180: 行 180:
 </code> </code>
  
-''ZMQSocket'' のコンストラクターで ソケットタイプ ''ZMQ::SOCKET_REP'' を使用している点に注意して下さい。''recv()'' でメッセージを受け取り(ブロック)、受け取ると直ぐに、同じものをエコー( ''send($message)'' )しています。+''ZMQSocket'' のコンストラクターで ソケットタイプ ''ZMQ::SOCKET_REP'' を使用している点に注意して下さい。''recv()''クライアントからのメッセージを待ち、受け取ると直ぐに、同じものをエコー( ''send($message)'' )します。
  
-以下は、クライアントです。githubの例題には適当なものがなかったので、以下のように作りました。+クライアントは、githubの例題には適当なものがなかったので、以下のように作りました。
  
 <code php simple-client.php> <code php simple-client.php>
行 192: 行 192:
  
 /* Create a socket */ /* Create a socket */
-$queue = new \ZMQSocket(new \ZMQContext(), \ZMQ::SOCKET_REQ);+$queue = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ);
 $queue->connect("tcp://127.0.0.1:5555"); $queue->connect("tcp://127.0.0.1:5555");
 $queue->setSockOpt (ZMQ::SOCKOPT_LINGER, 1000); $queue->setSockOpt (ZMQ::SOCKOPT_LINGER, 1000);
行 200: 行 200:
 </code> </code>
  
-''ZMQSocket'' のコンストラクターで ソケットタイプ ''ZMQ::SOCKET_REQ'' を使用している点(サーバー側は''ZMQ::SOCKET_REP''でした)注意して下さい。起動されると直ぐに、メッセージを ''send()'' して、''recv()'' でサーバーからのメッセージを待ちます。+''ZMQSocket'' のコンストラクターで ソケットタイプ ''ZMQ::SOCKET_REQ'' を使用している点(サーバー側は''ZMQ::SOCKET_REP''でした)注意して下さい。起動されると直ぐに、メッセージを ''send()'' して、''recv()'' でサーバーからのメッセージを待ちます。
  
 ZeroMQの特徴なのですが、''send()'' はサーバーが起動するまでリトライを続けます。 ZeroMQの特徴なのですが、''send()'' はサーバーが起動するまでリトライを続けます。
  
-では、コマンドプロンプトを2つ起動し、プロジェクトフォルダに移動してクライアントから起動します。+コードが出来たら、コマンドプロンプトを2つ起動し、プロジェクトフォルダに移動してクライアント起動します。
  
 <code dos> <code dos>
行 210: 行 210:
 </code> </code>
  
-クライアントはサーバーが起動しエコーバックされるのを待ちます。+クライアントはサーバーが起動しエコーバックされるのを待ちます。
  
 別のコマンドプロンプトからサーバーを起動します。 別のコマンドプロンプトからサーバーを起動します。
行 219: 行 219:
 </code> </code>
  
-サーバー起動直後、クライアントにメッセージされ、クライアントは終了します。+サーバーは、起動直後、クライアントにメッセージ、クライアントは終了します。
  
-<code dos> +もう一度、クライアントを起動します(今度は「Hi!」とってみましょう)。
-> php simple-client.php +
-Hello +
-</code> +
- +
-もう一度、クライアントを起動します(今度は「Hi!」とってみましょう)。+
  
 <code dos> <code dos>
行 237: 行 232:
 === request-reply パターン === === request-reply パターン ===
  
-クライアントのセットをサービスのセットに接続します。これは、リモートプロシージャコールまたはタスクの分散パターンと同じです。同期(''REQ'' 及び ''REP'' ソケットタイプ)と非同期ソケットタイプ(''DEALER'' 及び ''ROUTER'' ソケットタイプ)の2つの基本的な種類があり、ここでは同期タイプを使用しています。詳しくは以下のドキュメントをご覧ください。+request-reply パターンは、クライアントをサービスに接続します。これは、リモートプロシージャコールと同じです。同期(''REQ'' 及び ''REP'' ソケットタイプ)と非同期ソケットタイプ(''DEALER'' 及び ''ROUTER'' ソケットタイプ)の2つの基本的な種類があり、ここでは同期タイプを使用しています。詳しくは以下のドキュメントをご覧ください。
  
   * https://zguide.zeromq.org/docs/chapter1/#Ask-and-Ye-Shall-Receive --- ZeroMQガイド: Ask and Ye Shall Receive   * https://zguide.zeromq.org/docs/chapter1/#Ask-and-Ye-Shall-Receive --- ZeroMQガイド: Ask and Ye Shall Receive
php/7.2/ext/zmq.1606185503.txt.gz · 最終更新: 2020/11/24 11:38 by y2sunlight