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 の処理を行う }