@@ -181,7 +181,7 @@ <h2 class="subtitle">はじめに</h2>
181181
182182 今回の場合は< code > MainForTest</ code > というクラス名を指定。< br />
183183 < span > コマンド実行</ span >
184- < pre color-change ="command " aria-label ="メイン処理クラスの生成コマンド ">
184+ < pre color-change ="command " aria-label ="コマンド実行 ">
185185> php worker craft:main MainForTest
186186
187187[success] メイン処理クラスの生成に成功しました (MainForTest)
@@ -190,7 +190,7 @@ <h2 class="subtitle">はじめに</h2>
190190
191191 新しいメイン処理クラスが増えるとUsageの< code > app</ code > カテゴリに項目が追加されます。< br />
192192 < span > Usageの表示</ span >
193- < pre color-change ="command " aria-label ="追加されたサーバーアプリケーションをUsage表示 ">
193+ < pre color-change ="command " aria-label ="Usageの表示 ">
194194> php worker
195195SOCKET-MANAGER Framework 1.0.0
196196
@@ -217,7 +217,7 @@ <h2 class="subtitle">サーバー識別子</h2>
217217 < div class ="text-block ">
218218 メイン処理クラスが生成されると以下のプロパティが確認できます。< br />
219219 < span > プロパティのメンバ</ span >
220- < pre color-change ="php " aria-label ="メイン処理クラス内のサーバー識別子プロパティ ">
220+ < pre color-change ="php " aria-label ="プロパティのメンバ ">
221221/**
222222 * @var string $identifer サーバー識別子
223223 */
@@ -230,7 +230,7 @@ <h2 class="subtitle">サーバー識別子</h2>
230230
231231 例えばコマンドパラメータにホスト名を追加したい場合は以下のようにします。< br />
232232 < span > ホスト名のパラメータを追加</ span >
233- < pre color-change ="php " aria-label ="サーバー識別子にホスト名のコマンドパラメータを追加 ">
233+ < pre color-change ="php " aria-label ="ホスト名のパラメータを追加 ">
234234/**
235235 * @var string $identifer サーバー識別子
236236 */
@@ -250,7 +250,7 @@ <h2 class="subtitle">コマンド説明文</h2>
250250 < div class ="text-block ">
251251 メイン処理クラスが生成されると以下のプロパティが確認できます。< br />
252252 < span > プロパティのメンバ</ span >
253- < pre color-change ="php " aria-label ="メイン処理クラス内のコマンド説明文プロパティ ">
253+ < pre color-change ="php " aria-label ="プロパティのメンバ ">
254254/**
255255 * @var string $description コマンド説明
256256 */
@@ -262,7 +262,7 @@ <h2 class="subtitle">コマンド説明文</h2>
262262 例えば以下のように変更すると< br />
263263
264264 < span > 説明文の変更</ span >
265- < pre color-change ="php " aria-label ="コマンド説明文の変更 ">
265+ < pre color-change ="php " aria-label ="説明文の変更 ">
266266/**
267267 * @var string $description コマンド説明
268268 */
@@ -271,7 +271,7 @@ <h2 class="subtitle">コマンド説明文</h2>
271271
272272 Usageでは以下のように表示されます。< br />
273273 < span > Usageの表示</ span >
274- < pre color-change ="command " aria-label ="変更されたコマンド説明文をUsage表示 ">
274+ < pre color-change ="command " aria-label ="Usageの表示 ">
275275> php worker
276276SOCKET-MANAGER Framework 1.0.0
277277
@@ -311,7 +311,7 @@ <h3 class="underline">SocketManagerクラスの引数</h3>
311311 メイン処理クラスの実行(exec)メソッドの冒頭部分には< code > SocketManager</ code > クラスのインスタンス生成部分である以下のコードが含まれています。< br />
312312
313313 < span > 実行処理の冒頭部分</ span >
314- < pre color-change ="php " aria-label ="メイン処理クラス内の実行処理の冒頭部分 ">
314+ < pre color-change ="php " aria-label ="実行処理の冒頭部分 ">
315315public function exec()
316316{
317317 // 引数の取得
@@ -361,7 +361,7 @@ <h3 class="underline">cycleDrivenメソッドの引数</h3>
361361 メイン処理クラスの実行(exec)メソッド末尾のソースにはノンブロッキングループ内で< code > cycleDriven</ code > メソッドが呼ばれている箇所があります。< br />
362362
363363 < span > 実行処理の末尾部分</ span >
364- < pre color-change ="php " aria-label ="メイン処理クラス内の実行処理の末尾部分 ">
364+ < pre color-change ="php " aria-label ="実行処理の末尾部分 ">
365365public function exec()
366366{
367367 ・
@@ -418,7 +418,7 @@ <h2 class="subtitle">クラス適用項目</h2>
418418 メイン処理クラスの実行(exec)メソッドの中ほどに以下のコメントがあります。< br />
419419
420420 < span > 実行処理の中腹部分</ span >
421- < pre color-change ="php " aria-label ="メイン処理クラス内の実行処理の中腹部分 ">
421+ < pre color-change ="php " aria-label ="実行処理の中腹部分 ">
422422public function exec()
423423{
424424 ・
@@ -452,7 +452,7 @@ <h2 class="subtitle">クラス適用項目</h2>
452452 あらかじめ作成しておいた初期化クラス/プロトコルUNITクラス/コマンドUNITクラスのインスタンスは、ここで以下のように引き渡してフレームワークライブラリへ適用します。
453453
454454 < span > 各クラスの適用</ span >
455- < pre color-change ="php " aria-label ="初期化クラス/プロトコルUNITクラス/コマンドUNITクラスの適用 ">
455+ < pre color-change ="php " aria-label ="各クラスの適用 ">
456456public function exec()
457457{
458458 ・
@@ -495,14 +495,14 @@ <h2 class="subtitle">サーバー間通信の構成</h2>
495495 < dt > ①SocketManagerクラスのインスタンス生成</ dt >
496496 < dd >
497497 < span > 実装例</ span >
498- < pre color-change ="php " aria-label ="SocketManagerクラスのインスタンス生成部分 ">
498+ < pre color-change ="php " aria-label ="実装例 ">
499499$manager = new SocketManager(< ホスト名> , < ポート番号> );
500500 </ pre > < br />
501501 </ dd >
502502 < dt > ②各クラス(初期化クラス/プロトコルUNITクラス/コマンドUNITクラス)のSocketManagerインスタンスへの適用</ dt >
503503 < dd >
504504 < span > 実装例</ span >
505- < pre color-change ="php " aria-label ="初期化クラス/プロトコルUNITクラス/コマンドUNITクラスの各クラス適用部分 ">
505+ < pre color-change ="php " aria-label ="実装例 ">
506506$manager-> setInitSocketManager(new InitForTest());
507507$manager-> setProtocolUnits(new ProtocolForTest());
508508$manager-> setCommandUnits(new CommandForTest());
@@ -511,14 +511,14 @@ <h2 class="subtitle">サーバー間通信の構成</h2>
511511 < dt > ③ソケットをリッスン</ dt >
512512 < dd >
513513 < span > 実装例</ span >
514- < pre color-change ="php " aria-label ="ポートのListen部分 ">
514+ < pre color-change ="php " aria-label ="実装例 ">
515515$manager-> listen();
516516 </ pre > < br />
517517 </ dd >
518518 < dt > ④ノンブロッキングループでSocketManagerクラスのcycleDrivenメソッドを実行</ dt >
519519 < dd >
520520 < span > 実装例</ span >
521- < pre color-change ="php " aria-label ="ノンブロッキングループ部分 ">
521+ < pre color-change ="php " aria-label ="実装例 ">
522522$manager-> cycleDriven();
523523 </ pre > < br />
524524 </ dd >
@@ -530,7 +530,7 @@ <h2 class="subtitle">サーバー間通信の構成</h2>
530530 < dt > ①SocketManagerクラスのインスタンス生成</ dt >
531531 < dd >
532532 < span > 実装例</ span >
533- < pre color-change ="php " aria-label ="SocketManagerクラスのインスタンス生成部分 ">
533+ < pre color-change ="php " aria-label ="実装例 ">
534534$manager_client = new SocketManager(< ホスト名> , < ポート番号1> ); // クライアント通信用
535535$manager_server = new SocketManager(< ホスト名> , < ポート番号2> ); // サーバー間通信用
536536 </ pre >
@@ -539,7 +539,7 @@ <h2 class="subtitle">サーバー間通信の構成</h2>
539539 < dt > ②各クラス(初期化クラス/プロトコルUNITクラス/コマンドUNITクラス)のSocketManagerインスタンスへの適用</ dt >
540540 < dd >
541541 < span > 実装例</ span >
542- < pre color-change ="php " aria-label ="初期化クラス/プロトコルUNITクラス/コマンドUNITクラスの各クラス適用部分 ">
542+ < pre color-change ="php " aria-label ="実装例 ">
543543// グローバル共有の設定
544544$param_client = new ParameterForClient();
545545$param_server = new ParameterForServer();
@@ -561,7 +561,7 @@ <h2 class="subtitle">サーバー間通信の構成</h2>
561561 < dt > ③ソケットをリッスン</ dt >
562562 < dd >
563563 < span > 実装例(TCP通信用)</ span >
564- < pre color-change ="php " aria-label ="ポートのListen部分 (TCP通信用) ">
564+ < pre color-change ="php " aria-label ="実装例 (TCP通信用) ">
565565$manager_client-> listen(); // クライアント通信用
566566$manager_server-> listen(); // サーバー間通信用
567567$manager_server-> connect(< ホスト名> , < ポート番号> ); // サーバー間通信用
@@ -570,7 +570,7 @@ <h2 class="subtitle">サーバー間通信の構成</h2>
570570・
571571 </ pre >
572572 < span > 実装例(UDP通信用)</ span >
573- < pre color-change ="php " aria-label ="ポートのListen部分 (UDP通信用) ">
573+ < pre color-change ="php " aria-label ="実装例 (UDP通信用) ">
574574$manager_client-> listen(); // クライアント通信用
575575$manager_server-> bind(); // サーバー間通信用
576576$manager_server-> connect(< ホスト名> , < ポート番号> , true);// サーバー間通信用
@@ -583,7 +583,7 @@ <h2 class="subtitle">サーバー間通信の構成</h2>
583583 < dt > ④ノンブロッキングループでSocketManagerクラスのcycleDrivenメソッドを実行</ dt >
584584 < dd >
585585 < span > 実装例</ span >
586- < pre color-change ="php " aria-label ="ノンブロッキングループ部分 ">
586+ < pre color-change ="php " aria-label ="実装例 ">
587587$manager_client-> cycleDriven(); // クライアント通信用
588588$manager_server-> cycleDriven(); // サーバー間通信用
589589 </ pre > < br />
@@ -596,7 +596,7 @@ <h2 class="subtitle">サーバー間通信の構成</h2>
596596 仮に、クライアント通信用の処理からサーバー間通信を行う際は、グローバル共有を設定しているサーバー間通信用の< code > setSendStackAll</ code > メソッドを使用してブロードキャストできます。< br />
597597 逆に、サーバー間通信による受信データをクライアント通信用に引き渡す際は、グローバル共有を設定しているクライアント通信用の< code > setRecvStack</ code > メソッドを使用して受信データを設定できます。< br /> < br />
598598
599- このような構成にする事でINETソケットを使ったサーバー間通信が可能になり 、例えばIPC/メッセージング/共有メモリなどの機能を担うライブラリやサーバーを別途用意する必要がなくなって運用の手間を削減する事に貢献できます 。< br /> < br />
599+ このような構成にする事でアーキテクチャレベルでのINETソケットを使ったサーバー間通信が可能になり 、例えばIPC/メッセージング/共有メモリなどの機能を担うライブラリやサーバーを別途用意する必要がなくなって運用の手間を削減する事に貢献する事ができます 。< br /> < br />
600600
601601 また、ポート番号を< code > getParameter</ code > メソッドを使ってコマンドパラメータから引き渡せるようにしておくと、同じメイン処理クラスを使って複数のサーバープロセスを起ち上げる事ができるようになります。< br />
602602 </ div > < br />
@@ -612,8 +612,9 @@ <h2 class="subtitle">おわりに</h2>
612612 < font > < a href ="./index.html " target ="_blank "> ▶フレームワークのご紹介</ a > </ font > のページでご紹介しているデモ環境では、プライベートメッセージのサーバー間通信を親子関係で構築している実装例を組み込んでいます。< br />
613613 以下のUsageのうち「TCPマルチ」と表示されているコマンドがTCPソケットを使ってサーバー間通信を行うマルチサーバーで、「UDPマルチ」と表示されているコマンドがUDPソケットを使ってサーバー間通信を行うマルチサーバーの実装です。< br />
614614 < span > デモ環境のUsage</ span >
615- < pre color-change ="command " aria-label ="デモ環境のUsage表示 ">
615+ < pre color-change ="command " aria-label ="デモ環境のUsage ">
616616SOCKET-MANAGER Framework 1.0.0
617+
617618Usage:
618619 command [arguments]
619620
0 commit comments