次の方法で共有


CAsyncSocket::Connect

更新 : 2007 年 11 月

未接続のストリーム ソケットまたはデータグラム ソケットへの接続を確立します。

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 以外を返します。それ以外の場合は 0 を返します。GetLastError を呼び出すと、固有のエラー コードを取得できます。エラー コードが WSAEWOULDBLOCK で、アプリケーションがオーバーライド可能なコールバックを使っている場合は、接続操作が完了すると、アプリケーションは OnConnect メッセージを受け取ります。このメンバ関数では、次のエラーが発生します。

  • WSANOTINITIALISED   この API を使う前に AfxSocketInit の呼び出しが正常終了していることが必要です。

  • WSAENETDOWN   Windows ソケットの実装が、ネットワーク サブシステムの異常を検出しました。

  • WSAEADDRINUSE   指定したアドレスは使用中です。

  • WSAEINPROGRESS   実行中の Windows ソケット呼び出しがブロッキングされています。

  • WSAEADDRNOTAVAIL   指定したアドレスはローカル コンピュータからは利用できません。

  • WSAEAFNOSUPPORT   指定したファミリのアドレスはこのソケットでは使用できません。

  • WSAECONNREFUSED   接続を試みましたが、拒否されました。

  • WSAEDESTADDRREQ   宛先アドレスが必要です。

  • WSAEFAULT   引数 nSockAddrLen が不正です。

  • WSAEINVAL   ホスト アドレスが無効です。

  • WSAEISCONN   ソケットは既に接続されています。

  • WSAEMFILE   利用できるファイル記述子がありません。

  • WSAENETUNREACH   現時点では、このホストからネットワークに到達できません。

  • WSAENOBUFS   利用できるバッファ領域がありません。ソケットは接続できません。

  • WSAENOTSOCK   記述子がソケットではありません。

  • WSAETIMEDOUT   接続を試みましたが、タイムアウトで接続を確立できません。

  • WSAEWOULDBLOCK   ソケットが非ブロッキングになっていて、接続が完了できません。

解説

ソケットがバインドされていないときは、ローカルな関連付けを行うための一意な値が自動で割り当てられ、ソケットはバインドされているとマークされます。名前の構造体のアドレス フィールドがすべて 0 のときは、Connect は 0 を返します。拡張エラー情報を取得するには、GetLastError メンバ関数を呼び出します。

SOCK_STREAM 型のストリーム ソケットでは、ほかのホストに対するアクティブな接続が起動されます。ソケットの呼び出しに成功すると、そのソケットのデータ送受信の準備が完了します。

SOCK_DGRAM 型のデータグラム ソケットでは、既定の宛先が設定されます。その後、この宛先を使って SendReceive を呼び出します。

必要条件

ヘッダー : afxsock.h

参照

参照

CAsyncSocket クラス

階層図

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::GetSockName

CAsyncSocket::Create

CAsyncSocket::AsyncSelect

その他の技術情報

CAsyncSocket のメンバ