LoginSignup
5
5

More than 5 years have passed since last update.

ソケット通信とは何か?

Posted at

ソケットはどこの話か?

  • OSI参照モデル
    • アプリケーション層: HTTP/telnet/DNS
    • セッション層: Socket => ここ
    • トランスポート層: TCP/UDP
    • ネットワーク層: IP
    • 物理層: Ethernet, HUB

ソケットにも種類がある

INETドメインソケット(TCPソケット)

  • ネットワーク上でマシンを越えてのプロセス間通信

UNIXドメインソケット

  • 同じマシン上で動いているプロセス間で通信を行うためのソケット
  • 自マシンのみ

UNIXドメインソケットは何がいいのか?

  • INETドメインソケットよりもはるかに早い

UNIXドメインソケットの種類

  • ファイルシステムパス(pathname)
    • 一般的な手法。bind(2)でファイルシステム上のパスを結びつける
    • ファイルを使用しているためパーミッションを調整する
    • サーバプロセスが終了する時はunlink(2)で名前を削除し、それが参照しているファイルも削除する
  • netstat -al --protocol=unixで判断する
  • /var/lib/mysql/mysql.sockのようなものがUNIXドメインソケット
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5