ITメモ
C言語 / Programming Language C




【C言語】[listen] : 接続キューの作成 (サーバ側)

【C言語】
[listen] : 接続キューの作成 (サーバ側)





[listen]コマンド


listen - 通信バッファは、ソケットで同時に通信することのできる数を指定する。





#include <sys/socket.h>
int listen(int socket, int queue_limit);



コネクションの確立時にクライアントからの接続要求を格納するキューをサーバ側で作成する。
指定ソケットの内部状態が変更され、着信するTCP接続要求を処理します。

引数



socket ソケット記述子
queue_limit キューの長さ(接続要求の上限値)を設定します。
queue_limitには5を指定することが一般的といえます。
queue_limitはシステムによって意味が異なる、システムの技術仕様を要確認。





戻り値



0 成功
-1 失敗
戻り値が失敗の場合のerrnoの値
EBADF =ファイルディスクリプタが無効である。
EINVAL = ファイルディスクリプタがすでに名前のついたソケットを参照している。
ENOTSOCK = ファイルディスクリプタがソケットを参照していない。