前回(http://www.mathkuro.com/?p=252)はINETドメインのソケット通信サンプルを作ったので今度はUNIXドメインのソケット通信です。
例によってLinux・docker環境です。
UNIXドメインソケットとは?
- 普通のTCP/IPで通信するソケットがIPアドレスとポート番号に基づいて通信するのに対して、UNIXドメインのソケット通信ではファイルパスで通信を行う
- ネットワークのインターフェイスを介さないのでTCP/IPのソケットよりも高速
- 同一PC内でしか通信できない
- イメージ的には名前付きPIPEやメッセージキューに近い
- プロセス間通信に何を使うかで迷ったらコレ
ソースコード(サーバー側)
ソースコード(クライアント側)
終わりに
今回は前回のTCP/IPによるソケット通信の延長戦としてUNIXドメインソケットによるソケット通信を作ってみました。
自分はプロセス間通信で何使うか迷ったときはUNIXドメインソケット一択です。
コメント