ソケットはどこの話か?
- 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ドメインソケット