5部 関数リファレンス

listen

listen SOCKET, QUEUESIZE



listenシステムコールと同じことをします。成功時には"真"を返し、失敗時には"偽"を返します。

listenは、クライアントからの接続が確立されるまで待機します。この後、acceptでクライアントと接続することができます。

listenの使い方

listen(SOCKET, QUEUESIZE);
while (accept(CLIENT, SERVER)) {
	....
} 

QUEUESIZEには、まだacceptされていないコネクションの最大数を指定します。もしQUEUESIZE以上のクライアントが同時にconnectしてきた場合は、サーバは接続を拒否するか、何もレスポンスを返しません。

QUEUESIZEには直接数字を指定してもいいのですが、実際に何個のクライアントを受け付けるかはOSにより異なります。Socketモジュールが使える環境でしたら、SOMAXCONNを指定しておくといいでしょう。

関連記事