CAsyncSocket::Bind
更新 : 2007 年 11 月
ソケットをローカル アドレスに結び付けます。
BOOL Bind(
UINT nSocketPort,
LPCTSTR lpszSocketAddress = NULL
);
BOOL Bind (
const SOCKADDR* lpSockAddr,
int nSockAddrLen
);
パラメータ
nSocketPort
ソケット アプリケーションを識別するポート。lpszSocketAddress
ネットワーク アドレス。"128.56.22.8" のように数字をドットで区切ります。このパラメータに NULL 文字列を指定した場合、CAsyncSocket インスタンスは、すべてのネットワーク インターフェイス上でクライアントのアクティビティを待機します。lpSockAddr
ソケットに割り当てられるアドレスを持つ SOCKADDR 構造体へのポインタ。nSockAddrLen
lpSockAddr 内のアドレス長。バイト単位で指定します。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。GetLastError を呼び出すと、固有のエラー コードを取得できます。このメンバ関数では、次のエラーが発生します。
WSANOTINITIALISED この API を使う前に AfxSocketInit の呼び出しが正常終了していることが必要です。
WSAENETDOWN Windows ソケットの実装が、ネットワーク サブシステムの異常を検出しました。
WSAEADDRINUSE 指定したアドレスは使用中です。「SetSockOpt」のソケット オプション SO_REUSEADDR を参照してください。
WSAEFAULT 引数 nSockAddrLen が小さすぎます。SOCKADDR 構造体のサイズよりも小さくなっています。
WSAEINPROGRESS 実行中の Windows ソケット呼び出しがブロッキングされています。
WSAEAFNOSUPPORT 指定したアドレス ファミリは、このポートではサポートしていません。
WSAEINVAL ソケットは既にアドレスにバインドされています。
WSAENOBUFS 利用できるバッファ情報がありません。接続が多すぎます。
WSAENOTSOCK 記述子がソケットではありません。
解説
このルーチンは、未接続のデータグラムまたはストリーム ソケットに対して使います。このルーチンに続いて Connect または Listen を呼び出します。接続要求を受け入れる前に、リスナとなるサーバー ソケットはポート番号を選択し、Bind を呼び出して Windows ソケットにポート番号を通知します。Bind は、名前のないソケットにローカル名を割り当てることにより、ソケットのローカルな関連付け (ホスト アドレスおよびポート番号) を確立します。
必要条件
ヘッダー : afxsock.h