5部 関数リファレンス

accept

accept NEW_SOCKET, GENERIC_SOCKET



サーバプロセスとして、クライアントからのソケット接続を受け付けられるように待機します。この関数を実行すると、接続相手からの接続要求があるまで実行待ちとなります。

acceptは、接続相手から接続要求を受けると、引数NEW_SOCKETをオープンします。引数GENERIC_SOCKETは、socketでオープンし、bindによってサーバのネットワークアドレスと結びついたファイルハンドルになっている必要があります。GENERIC_SOCKETは、その後もポート監視用ソケットとして使われます。

返却値は、成功時には接続相手のIPアドレスとポート番号をパックした値、失敗時には"偽"の値です。IPアドレスとポート番号をパックした値を元の情報に戻すには、Socketモジュールのunpack_sockaddr_inを使います。
エラー時には、$!にエラーコードがセットされます。

プロセスについては用語集「プロセス」を参照してください。

acceptの使い方

# 接続要求の受け入れ処理
while( $client = accept(client, server) ){
	# client の処理を行う
}

関連記事