総合手引 | セクション 2 | English | Deutsch | オプション |
#include <sys/types.h>
#include <sys/socket.h>
backlog 引数は、延期中の接続の待ち行列を伸ばす際の最大長を定義します。 待ち行列が満杯のときに接続要求が到着すると、クライアントは ECONNREFUSED を示すエラーを受信する可能性があります。 TCP の場合は、接続は黙って落とされます。
FreeBSD 4.5 以前で syncache が導入されるまでは、 backlog 引数は不完全な接続の待ち行列の長さも定義していました。 この待ち行列には、TCP の 3 ウェイハンドシェークを完了させるべく処理中の TCP ソケットが保持されています。 これらの不完全な接続は、現在すべて syncache に保持され、 これは待ち行列の長さに影響されません。 backlog 値を増やすことによりサービス不能攻撃に対処する必要は、もはやありません。
sysctl(3) MIB 変数 " kern.ipc.somaxconn" は backlog のハードリミットを指定します。 kern.ipc.somaxconn より大きい値、または 0 より小さい値が指定されている場合、 backlog の指定は無視されて kern.ipc.somaxconn の値にされます。
この第 2 の待ち行列は、第 1 の listen 待ち行列のように、 backlog 引数に従って大きさが変わります。
[EBADF] | |
引数 s が有効な記述子ではありません。 | |
[EINVAL] | |
そのソケットはすでに接続されているか、接続確立中です。 | |
[ENOTSOCK] | |
引数 s がソケットではありません。 | |
[EOPNOTSUPP] | |
ソケットが、 listen() をサポートするタイプではありません。 | |
LISTEN (2) | May 8, 2002 |
総合手引 | セクション 2 | English | Deutsch | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | Today, the Unix equivalent of a power drill would have 20 dials and switches, come with a nonstandard plug, require the user to hand-wind the motor coil, and not accept 3/8" or 7/8" drill bits (though this would be documented in the BUGS section of its instruction manual). | ” |
— The Unix Haters' handbook |