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

参照

関連項目

CAsyncSocket クラス

階層図

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::GetSockName

CAsyncSocket::Create

CAsyncSocket::AsyncSelect