UNIXのソケットについて

UNIXサーバ構築 OnTheVMware

UNIX関連の技術について詳細に解説
HOME > UNIX Tips >

UNIXのソケットについて

UNIXのソケットについて


スポンサードリンク


UNIXシステムでは、各プロセス(プログラム)は外部と通信する前にソケットというものを生成し、通信はそこを通して行われます。ソケットとは簡単に言うと各プロセスと外部をつなぐデータの出入り口のようなもので、まずソケットを相手につないでから、そこに送信するデータを書き込んだり、そこから送られてきたデータを読み込んだりします。つまりUNIXシステムにおけるネットワーク通信とは厳密にいうとプロセス間の通信のことを指します。

ソケットはネットワーク通信に用いるファイル・ディスクリプタ(file descriptor)です。ファイル・ディスクリプタとは、プログラムがアクセスするファイルや標準入出力などをOSが識別するために用いる識別子のことを指します。

 LinuxなどUNIX系OSでは,入出力はすべてバイト列(文字列の一種)として扱われます。入出力では,バイト列のことをストリーム(streamは「流れ」の意味)と呼びます。ディスクリプタは単なる整数で,ストリームを区別する識別子として使います。OSはあるプログラム(プロセス)がアクセスしているストリーム一つひとつに固有の番号を付け,その番号をディスクリプタと呼びます。

 ディスクリプタはプロセスごとの固有の値で,0番が標準入力,1番が標準出力,2番が標準エラー出力であると決められています。そのほかのストリームはオープン(利用開始)されるたびに小さい番号から順に使われ,クローズ(利用終了)されると同じ番号が再利用されます。ファイル・ディスクリプタさえあれば,読み出しにはreadシステム・コール,書き込みにはwriteシステム・コールが使えます



UNIXのソケットについて

入出力アーキテクチャ

ApacheのDSO機能

スポンサードリンク
 HOME / 免責事項 / サイトマップ /  問い合わせ
Copyright (C) 2008  UNIXサーバ構築 OnTheVMware  All rights reserved