「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ノンブロッキングソケット

pointこの用語のポイント

pointソケットだよ

pointノンブロッキング通信で使うよ

スポンサーリンク

簡単に書くよ

ノンブロッキングソケット(英:non-blocking socket)とは

通信中も他の処理を並行して進められる通信(ノンブロッキング通信)で使う通信用の部品(ソケット)のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

ノンブロッキング
通信
ノンブロッキング通信
ソケット


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

ノンブロッキングは「○○通信とか)している最中も処理は進むけど、○○が終わらないとできない処理になったら中断して待ってるよ~」です。
一般的には「ノンブロッキング○○」という形で登場します。
(できるだけ)ブロックしない」と言えばイメージできますかね?

ノンブロッキングソケット

ポイントは

1.○○している最中も処理は進む
2.○○が終わらないとできない処理になったら中断して待つ


の2つです。

例えば、そうですね。

ピヨ太君が

1.洗濯
2.掃除
3.アイロンがけ


の3つの家事をやるとします。

まずは洗濯からです。
ピヨ太君は洗濯機に服とかを放り込んで開始ボタンをポチッと押しました。

ノンブロッキングソケット2

次は掃除です。
洗濯機が動き出したら、ピヨ太君は部屋の掃除を始めました。

ノンブロッキングソケット3

最後はアイロンがけです。
掃除が終わったらアイロンがけ……と思ったのですが、まだ洗濯機は動いています。

アイロンがけは洗濯が終わった後でないとできませんよね。
ピヨ太君は洗濯が終わるのを、ぼーっとしながら待ちました。

ノンブロッキングソケット4

洗濯が終わったら、アイロンがけを始めます。

ノンブロッキングソケット5

この話におけるピヨ太君のような動きがノンブロッキングです。

1.洗濯している最中も処理掃除は進む
2.洗濯が終わらないとできない処理アイロンがけになったら中断して待つ


ですよね。
ノンブロッキングでは処理が枝分かれするイメージです。

ノンブロッキングソケット6

通信は「情報を伝えること」です。
とはいえ、普通に「通信」と言えば分かりますよね。

ノンブロッキングソケット7

ノンブロッキング通信は「通信と他の処理を並行して進められる通信」です。
通信している最中もプログラムさんは他のお仕事をします。

ノンブロッキングソケット8

先ほど、ノンブロッキングの説明をしたときに使った図を思い出してください。
ピヨ太君と洗濯機さんが出てきた図です。

ノンブロッキングソケット9

ピヨ太君から洗濯機さんに伝わっている「洗濯を依頼」と洗濯機さんからピヨ太君に伝わっている「完了のお知らせ」が通信だと思ってください。
それぞれ

洗濯を依頼:要求リクエスト
完了のお知らせ:応答レスポンス


に相当します。

ノンブロッキングソケット10

この状態でピヨ太君に注目してください。
ピヨ太君は通信途中でも処理(掃除)を続けていますよね。
そして、通信結果が返って来ないとできない処理(アイロンがけ)になったら、待ち状態に入っています。

ノンブロッキングソケット11

このような通信がノンブロッキング通信です。

ソケットは、うんちゃらかんちゃらがげふんげふんです。
ちゃんと見ていくと結構ややこしいので、今回は単純に

通信用の部品

と解釈してください。
プログラムから通信をしたいときは、ソケットさんに対して「これ、送っておいてや~」とお願いするイメージです。

ノンブロッキングソケット12

以上を踏まえて

ノンブロッキング通信を使うときに使うソケット

が「ノンブロッキングソケット」です。
ノンブロッキングソケットさんは、通信が終わる前に「送っておくから他のことをやって良いよ」と言ってくれます。

ノンブロッキングソケット13

にくい心配りをしてくれるやつですね。
その心配りのお陰で考えないといけないことが増えたりもしますが。


image piyo2

一言でまとめるよ

まぁ「ノンブロッキングソケット」って単語が出てきたら「ノンブロッキング通信をするときに使うソケットなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像047
書籍画像052

おまけ

■訳してみるよ

「non(ノン)」は否定を意味します。
「blocking(ブロッキング)」は「block(ブロック)」+「ing」です。
「block(ブロック)」の意味は「さえぎる」とか「妨害する」とか「かたまり」とか「まとまり」とか「ブロック」とかです。
「socket(ソケット)」の意味は「受け口」とか「穴」とか「(電球の)ソケット」とかです。
何となく くっつけると

さえぎらない受け口

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
あたえる人があたえられる
実践サイバーセキュリティ入門講座 現場に残された痕跡からハッカーの攻撃を暴け