Skip to content

Commit c8e00d8

Browse files
v1.45.1 Release
文書の校正
1 parent 3c1968c commit c8e00d8

30 files changed

Lines changed: 84 additions & 84 deletions

architecture.html

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
<div class="layout">
7676
<div class="menu" role="navigation" aria-label="ページメニュー">
7777
<h2 class="menu-title">SOCKET-MANAGER</h2>
78-
<h4 class="menu-reference menu-page-title-bottom"><a href="./reference/index.html" target="blank">&gt;&gt; Reference</a></h4>
78+
<h4 class="menu-reference menu-page-title-bottom"><a href="./reference/index.html" target="_blank">&gt;&gt; Reference</a></h4>
7979
<h2 class="menu-label">MAIN-MENU</h2>
8080
<div class="menu-text">
8181

@@ -272,7 +272,7 @@ <h2 class="subtitle">レイヤー概念図</h2>
272272
ここではプロトコル部とコマンド部の分離、UNITパラメータの役割、CycleDrivenManagerによる制御など、実際の仕組みを詳しく解説していきます。<br />
273273

274274
<div class="img-block">
275-
<a href="./img/architecture/outline.png" target="blank"><img class="img-zoomout" src="./img/architecture/outline.png" loading="lazy" alt="SOCKET-MANAGERフレームワークのレイヤー構造図" /></a>
275+
<a href="./img/architecture/outline.png" target="_blank"><img class="img-zoomout" src="./img/architecture/outline.png" loading="lazy" alt="SOCKET-MANAGERフレームワークのレイヤー構造図" /></a>
276276
</div>
277277

278278
サーバーのアプリケーションの部分はプロトコル部とコマンド部に大きく分かれています。<br />
@@ -291,7 +291,7 @@ <h2 class="subtitle">キューとUNITの関係</h2>
291291
図にすると以下のようなイメージになります。
292292

293293
<div class="img-block">
294-
<a href="./img/architecture/que-and-unit.png" target="blank"><img class="img-zoomout" src="./img/architecture/que-and-unit.png" loading="lazy" alt="SOCKET-MANAGERフレームワークのイベント処理部分であるキューとUNITの関係図" /></a>
294+
<a href="./img/architecture/que-and-unit.png" target="_blank"><img class="img-zoomout" src="./img/architecture/que-and-unit.png" loading="lazy" alt="SOCKET-MANAGERフレームワークのイベント処理部分であるキューとUNITの関係図" /></a>
295295
</div>
296296

297297
通信データの送受信の特徴として送りたいデータ、あるいは欲しいデータが一度に全て送信/受信できるとは限らないためこのような構成になっています。<br />
@@ -362,7 +362,7 @@ <h2 class="subtitle">UNIT定義クラス</h2>
362362

363363
UNIT 定義クラスの実装イメージは次の通りです。<br />
364364
<div class="img-block">
365-
<a href="./img/architecture/unit_class.png" target="blank"><img class="img-zoomout" src="./img/architecture/unit_class.png" loading="lazy" alt="SOCKET-MANAGERフレームワークのイベント処理部分であるキューとUNITを定義するクラスの内部構造イメージ" /></a>
365+
<a href="./img/architecture/unit_class.png" target="_blank"><img class="img-zoomout" src="./img/architecture/unit_class.png" loading="lazy" alt="SOCKET-MANAGERフレームワークのイベント処理部分であるキューとUNITを定義するクラスの内部構造イメージ" /></a>
366366
</div>
367367

368368
プロトコル部のキュー名は <code>ProtocolQueueEnum</code> で予約されているので、作成された Enum ファイルにはこの予約された Enum 値がエイリアス名として定義されます。<br /><br />
@@ -395,7 +395,7 @@ <h3 class="underline">UNITパラメータクラス</h3>
395395
これを図にすると以下のようになります。<br />
396396

397397
<div class="img-block">
398-
<a href="./img/architecture/global.png" target="blank"><img class="img-zoomout" src="./img/architecture/global.png" loading="lazy" alt="SOCKET-MANAGERフレームワーク内でのグローバル管理領域のアクセス概念図" /></a>
398+
<a href="./img/architecture/global.png" target="_blank"><img class="img-zoomout" src="./img/architecture/global.png" loading="lazy" alt="SOCKET-MANAGERフレームワーク内でのグローバル管理領域のアクセス概念図" /></a>
399399
</div>
400400

401401
初期化クラス内の <code>getUnitParameter メソッド</code> でインスタンスを返す必要がありますが、インスタンス化するタイミングは初期化クラスの内側/外側を問いません。<br /><br />
@@ -424,7 +424,7 @@ <h3 class="underline">シリアライザー/アンシリアライザー</h3>
424424
これを図にすると以下のようになります。<br /><br />
425425

426426
<div class="img-block">
427-
<a href="./img/architecture/data_stack.png" target="blank"><img class="img-zoomout" src="./img/architecture/data_stack.png" loading="lazy" alt="クライアントごとに管理している送受信データスタック領域とアクセス概念図" /></a>
427+
<a href="./img/architecture/data_stack.png" target="_blank"><img class="img-zoomout" src="./img/architecture/data_stack.png" loading="lazy" alt="クライアントごとに管理している送受信データスタック領域とアクセス概念図" /></a>
428428
</div>
429429

430430
<h3 class="underline">コマンドディスパッチャー</h3>
@@ -438,11 +438,11 @@ <h3 class="underline">コマンドディスパッチャー</h3>
438438
これを図にすると以下のようになります。<br /><br />
439439

440440
<div class="img-block">
441-
<a href="./img/architecture/recv_flow.png" target="blank"><img class="img-zoomout" src="./img/architecture/recv_flow.png" loading="lazy" alt="受信データを解析してコマンドディスパッチャーが処理を振り分ける概念図" /></a>
441+
<a href="./img/architecture/recv_flow.png" target="_blank"><img class="img-zoomout" src="./img/architecture/recv_flow.png" loading="lazy" alt="受信データを解析してコマンドディスパッチャーが処理を振り分ける概念図" /></a>
442442
</div>
443443

444444
<div class="img-block">
445-
<a href="./img/architecture/send_flow.png" target="blank"><img class="img-zoomout" src="./img/architecture/send_flow.png" loading="lazy" alt="コマンドディスパッチャーを介さずに送信データが送出されるまでの概念図" /></a>
445+
<a href="./img/architecture/send_flow.png" target="_blank"><img class="img-zoomout" src="./img/architecture/send_flow.png" loading="lazy" alt="コマンドディスパッチャーを介さずに送信データが送出されるまでの概念図" /></a>
446446
</div>
447447

448448
<h3 class="underline">緊急停止時のコールバック</h3>
@@ -467,29 +467,29 @@ <h2 class="subtitle">メイン処理クラス</h2>
467467
実装イメージは以下の通りです。<br />
468468

469469
<div class="img-block">
470-
<a href="./img/architecture/main_class.png" target="blank"><img class="img-zoomout" src="./img/architecture/main_class.png" loading="lazy" alt="メイン処理クラスの内部構造イメージ" /></a>
470+
<a href="./img/architecture/main_class.png" target="_blank"><img class="img-zoomout" src="./img/architecture/main_class.png" loading="lazy" alt="メイン処理クラスの内部構造イメージ" /></a>
471471
</div>
472472

473473
このうち初期設定ブロックは <code>SocketManager</code> の準備処理として必要な部分です。<br />
474474
ポート設定ブロックではマルチサーバーの子サーバーとして起動する場合、親サーバーへの接続を行うための <code>connect</code> メソッドが使用される事があります。<br />
475475
ノンブロッキングループブロックは以下のイメージで動作します。<br />
476476

477477
<div class="img-block">
478-
<a href="./img/architecture/main1.png" target="blank"><img class="img-zoomout" src="./img/architecture/main1.png" loading="lazy" alt="クライアント接続単体でのノンブロッキングループ動作イメージ" /></a>
478+
<a href="./img/architecture/main1.png" target="_blank"><img class="img-zoomout" src="./img/architecture/main1.png" loading="lazy" alt="クライアント接続単体でのノンブロッキングループ動作イメージ" /></a>
479479
</div>
480480

481481
1つの接続に対してプロトコル部とコマンド部が連携し合って動作します。<br />
482482
このうち1回の周期(ループ)で実行されるのはプロトコル/コマンド部のそれぞれ1 UNIT ずつとなります。<br />
483483
これが複数の接続になると以下のイメージになり、1つのサーバーで処理する単位になります。<br />
484484

485485
<div class="img-block">
486-
<a href="./img/architecture/main2.png" target="blank"><img class="img-zoomout" src="./img/architecture/main2.png" loading="lazy" alt="複数のクライアント接続時のノンブロッキングループ動作イメージ" /></a>
486+
<a href="./img/architecture/main2.png" target="_blank"><img class="img-zoomout" src="./img/architecture/main2.png" loading="lazy" alt="複数のクライアント接続時のノンブロッキングループ動作イメージ" /></a>
487487
</div>
488488

489489
そして複数のサーバーを起動している場合は以下のイメージになり、プロセスが順当に割り当てられると1つのサーバープロセスが CPU の各コア(このケースではコアが4つの場合)に割り当てられてデュアルで動作します。<br />
490490

491491
<div class="img-block">
492-
<a href="./img/architecture/main3.png" target="blank"><img class="img-zoomout" src="./img/architecture/main3.png" loading="lazy" alt="複数のサーバープロセス稼働時のノンブロッキングループ動作イメージ" /></a>
492+
<a href="./img/architecture/main3.png" target="_blank"><img class="img-zoomout" src="./img/architecture/main3.png" loading="lazy" alt="複数のサーバープロセス稼働時のノンブロッキングループ動作イメージ" /></a>
493493
</div>
494494

495495
※実際にサーバーをスケーリングする際には上記のイメージを基に計算/設計していく事になりますが、サーバー上の個々のプロセスを OS が必ずしも別々の CPU に割り当てるとは限らないため、リソースや処理時間等の実測値を見ながら調整していく事になります。<br /><br />

command-unit.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
<div class="layout">
7575
<div class="menu" role="navigation" aria-label="ページメニュー">
7676
<h2 class="menu-title">SOCKET-MANAGER</h2>
77-
<h4 class="menu-reference menu-page-title-bottom"><a href="./reference/index.html" target="blank">&gt;&gt; Reference</a></h4>
77+
<h4 class="menu-reference menu-page-title-bottom"><a href="./reference/index.html" target="_blank">&gt;&gt; Reference</a></h4>
7878
<h2 class="menu-label">MAIN-MENU</h2>
7979
<div class="menu-text">
8080

0 commit comments

Comments
 (0)