広告
広告
accept システムコールと同様に、サーバプロセスとしてクライアントからのソケット接続を受け付けられるようにする関数です。この関数を実行すると、クライアントからの接続があるまで実行待ちとなります。クライアントから接続があると、引数 NEWSOCKET をオープンします。つまり listen により OS が陰で作成していた待ち行列から1つだけクライアントを取り出し、そのクライアントとの接続を確立します。
成功時には接続相手のパックされたアドレス(IPアドレスとポート番号を一体化した SOCKADDR 形式/unpack_sockaddr_in で分解することができる)を返し、失敗すれば偽を返します。
GENERICSOCKETは socket によってオープンしてbind によってサーバのネットワークアドレスと結びついたファイルハンドルになっている必要があります。
$paddr = accept(CLIENT, CLIENT_WAITING);
広告