CAsyncSocket::Connect
接続されていないストリームまたはデータグラム ソケットへの接続を確立するには、このメンバー関数を呼び出します。
BOOL Connect(
LPCTSTR lpszHostAddress,
UINT nHostPort
);
BOOL Connect(
const SOCKADDR* lpSockAddr,
int nSockAddrLen
);
パラメーター
lpszHostAddress
このオブジェクトを接続するソケットのネットワーク アドレス: 「ftp.microsoft.com」などのコンピューター名、または「128.56.22.8」のような点を打たれた数。nHostPort
ソケットのアプリケーションを指定するポート。lpSockAddr
接続されたソケットのアドレスを含む SOCKADDR の構造体へのポインター。nSockAddrLen
バイト lpSockAddr のアドレスの長さ。
戻り値
関数が正常に終了した場合は、; は 0 と特定のエラー コードは GetLastErrorを呼び出して取得できます。これが WSAEWOULDBLOCKのエラー コードを表示すると、アプリケーションがオーバーライドできるコールバックを使用すると、アプリケーションが接続の操作が完了したとき OnConnect のメッセージを受信します。このエラーは、次のメンバー関数に適用されます:
WSANOTINITIALISED は正常に AfxSocketInit は、この API を使用する前に行う必要があります。
WSAENETDOWN は、Windows ソケット実装ネットワークのサブシステムが失敗したことを検出しました。
WSAEADDRINUSE は、指定したアドレス既に使用されています。
WSAEINPROGRESS A のブロックの Windows ソケットの呼び出しは進行中です。
WSAEADDRNOTAVAIL は、指定したアドレス ローカル コンピューターでは使用できません。
指定したファミリのWSAEAFNOSUPPORT の アドレスは、このソケットに使用することはできません。
WSAECONNREFUSED は接続しようとすると拒否されています。
WSAEDESTADDRREQ A の目的のアドレスは必須です。
WSAEFAULTnSockAddrLen の引数は不適切です。
WSAEINVAL の無効なホスト アドレス。
WSAEISCONN は既にソケット接続されます。
WSAEMFILE にこれ以上のファイル記述子使用できません。
WSAENETUNREACH は、現時点におけるこのネットワーク ホストから到達できません。
WSAENOBUFS バッファー領域は使用できません。ソケット接続はできません。
WSAENOTSOCK は記述子ソケットではありません。
接続するWSAETIMEDOUT の試行は接続を確立せずに時間を The operation has timed out
WSAEWOULDBLOCK はブロッキングとしてマークされ、ソケット接続は直ちに完了できません。
解説
ソケットで自由な場合は、一意の値はシステムによってローカル関連付けに割り当てられ、ソケットはバインドされるようにマークされます。名前の構造体のアドレス フィールドがすべてゼロの [接続] は、ゼロを返すことに注意してください。エラー情報を拡張するには、GetLastError のメンバー関数を呼び出します。
ストリーム ソケット (型 SOCK_STREAM) の場合は、外部のホストへのアクティブな接続が開始されます。ソケットの呼び出しが正常に完了すると、ソケットで送信と受信データに準備ができました。
データグラム ソケット (型 SOCK_DGRAM) の場合、後続の [送信] と [受信] の呼び出しで使用される既定の終了が設定されます。
必要条件
Header: afxsock.h