C言語-listen関数



listenシステムコール

コネクションの確立時にクライアントからの接続要求を格納するキューをサーバ側で作ります。

指定ソケットの内部状態が変更され、着信するTCP接続要求を処理します。

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

引数

socket ソケット記述子
queue_limit キューの長さ(接続要求の上限値)を設定します。

queue_limitには5を指定することが一般的といえます。

queue_limitはシステムによって意味が異なることがありますので、システムの技術仕様を確認する必要があります。


戻り値

0 成功

-1 失敗


戻り値が失敗の場合のerrnoの値は以下のとおり

EBADF ファイルディスクリプタが無効である。
EINVAL ファイルディスクリプタがすでに名前のついたソケットを参照している。
ENOTSOCK ファイルディスクリプタがソケットを参照していない。

関連

C言語-ソケットプログラミング




スポンサード リンク