Share via


CAsyncSocket::GetSockName

ソケットのローカル名を取得するには、このメンバー関数を呼び出します。

BOOL GetSockName(
   CString& rSocketAddress,
   UINT& rSocketPort 
);
BOOL GetSockName(
   SOCKADDR* lpSockAddr,
   int* lpSockAddrLen 
);

パラメーター

  • rSocketAddress
    ドット数を打たれた IP アドレスを受け取る CString のオブジェクトへの参照。

  • rSocketPort
    ポートを格納 uint への参照。

  • lpSockAddr
    ソケットのアドレスを受け取る SOCKADDR の構造体へのポインター。

  • lpSockAddrLen
    バイト lpSockAddr のアドレスの長さへのポインター。

戻り値

関数が正常に終了した場合は、; は 0 と特定のエラー コードは GetLastErrorを呼び出して取得できます。このエラーは、次のメンバー関数に適用されます:

  • WSANOTINITIALISED は正常に AfxSocketInit は、この API を使用する前に行う必要があります。

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

  • WSAEFAULTlpSockAddrLen の引数は十分ではありません。

  • WSAEINPROGRESS A のブロックの Windows ソケット処理は進行中です。

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

  • WSAEINVAL は **[バインド]**ソケットのアドレスにバインドされていません。

解説

この呼び出しは [接続] の呼び出しが [バインド] を最初にせずに行われた場合に特に役立ちます。; この呼び出しは、がシステムによって設定されたローカルな関連付けを決定できる唯一の方法を提供します。

IPv6 のアドレスを処理するには、CAsyncSocket::GetSockNameExを使用します。

必要条件

Header: afxsock.h

参照

関連項目

CAsyncSocket クラス

階層図

CAsyncSocket::Bind

CAsyncSocket::Create

CAsyncSocket::GetPeerName