C言語ソケット通信サンプル(UNIXドメイン)


前回(https://www.mathkuro.com/?p=252)はINETドメインのソケット通信サンプルを作ったので今度はUNIXドメインのソケット通信です。
例によってLinux・docker環境です。

UNIXドメインソケットとは?

  • 普通のTCP/IPで通信するソケットがIPアドレスとポート番号に基づいて通信するのに対して、UNIXドメインのソケット通信ではファイルパスで通信を行う
  • ネットワークのインターフェイスを介さないのでTCP/IPのソケットよりも高速
  • 同一PC内でしか通信できない
  • イメージ的には名前付きPIPEやメッセージキューに近い
  • プロセス間通信に何を使うかで迷ったらコレ

ソースコード(サーバー側)

ソースコード(クライアント側)

終わりに

今回は前回のTCP/IPによるソケット通信の延長戦としてUNIXドメインソケットによるソケット通信を作ってみました。
自分はプロセス間通信で何使うか迷ったときはUNIXドメインソケット一択です。

Leave a Reply

Your email address will not be published. Required fields are marked *