Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > socketライブラリ > Socketクラス > unix_server_loop

singleton method Socket.unix_server_loop

unix_server_loop(path) {|socket, client_addrinfo| ... } -> ()[permalink][rdoc]

Unix サーバソケットを生成し、 新しい接続を受け入れるごとにブロックを呼び出します。

ブロックには新しい接続を表すソケットオブジェクトと、 クライアントアドレスを表す Addrinfo オブジェクトが渡されます。

ブロックの実行が終わってもソケットは close されません。 アプリケーション側が明示的に close する必要があります。

path という名前のファイルが既に存在するときは、 そのファイルのオーナである場合は先にそのファイルを削除してしまいます。 これは path が悪意あるユーザによって変更されない場合に限りは安全です。 つまり、 /tmp/malicious-users-directory/socket という名前のパスは 使うべきではありません。 /tmp にスティッキービットが立っている場合、/tmp/socket や /tmp/your-private-directory/socket というパス名は安全と考えて良いでしょう。

[PARAM] path:
接続を待ち受けるパス(文字列)