socket |
ソケット記述子 |
address |
呼び出し側のクライアントのアドレスポインタ |
address_len |
アドレス構造体の長さ |
新しいソケットファイルディスクリプタ |
成功(保留中のクライアント接続がある場合) |
-1 |
失敗 戻り値が失敗(-1)の場合のerrnoの値: EWOULDBLOCK O_NUNBLOCKが指定されていて保留中の接続が無い場合に発生する。 O_NUNBLOCKを指定するには: ソケットキューに接続が無い場合、クライアントが接続してくるまでサーバはacceptでブロックされる。 ただしこの動作は、fcntl関数を使ってソケットのファイルディスクリプタにO_NONBLOCKフラグを指定することで変更することができる。 int flag = fcntl(socket, F_GETFL, 0); fcntl(socket, F_SETFL, O_NONBLOCK|flags); |