CAsyncSocket::Listen
着信接続の要求を待機するには、このメンバー関数を呼び出します。
BOOL Listen(
int nConnectionBacklog = 5
);
パラメーター
- nConnectionBacklog
保留中の接続のキューになることができる最大長。有効範囲は 1 ~ 5.からです。
戻り値
関数が正常に終了した場合は、; は 0 と特定のエラー コードは GetLastErrorを呼び出して取得できます。このエラーは、次のメンバー関数に適用されます:
WSANOTINITIALISED は正常に AfxSocketInit は、この API を使用する前に行う必要があります。
WSAENETDOWN は、Windows ソケット実装ネットワークのサブシステムが失敗したことを検出しました。
WSAEADDRINUSE は、使用中のアドレスで待機するように試行されました。
WSAEINPROGRESS A のブロックの Windows ソケット処理は進行中です。
WSAEINVAL は [バインド] とソケット バインドできません。または、既に接続されていません。
WSAEISCONN は既にソケット接続されます。
WSAEMFILE にこれ以上のファイル記述子使用できません。
WSAENOBUFS バッファー領域は使用できません。
WSAENOTSOCK は記述子ソケットではありません。
WSAEOPNOTSUPP は Listen 操作をサポートする型が、参照先ソケットではありません。
解説
接続を使用するには、ソケットは **[作成]**とともに作成されますが、着信接続に対してバックログには Listenで指定され、接続は **[同意する]**に使用されます。Listen は、型の接続を SOCK_STREAMつまり、ソケット サポートにのみ適用されます。このソケットは着信接続がプロセスによって使用され、列の確認を行う「の」パッシブ モードに同期されます。
この関数は、サーバー使用されます (または複数のコネクション要求が同時に持つことができる接続を使用するアプリケーション) によって通常は: 接続要求が完全なクライアントはキューに到達 WSAECONNREFUSEDの問題を含むエラーが発生します。
Listen は使用可能なポート (記述子) がない場合、合理的に機能し続けるようにします。これは、キューが空になったまで接続を受け入れます。ポートが使用可能になると、Listen または [同意する] への以降の呼び出しはクロールまたは最も最近の「バックログに可能な限り着信接続を待機キュー」、および再開を再入力します。
必要条件
Header: afxsock.h