次の方法で共有


CAsyncSocket::GetSockName

更新 : 2007 年 11 月

ソケットのローカル名を取得します。

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

パラメータ

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

  • rSocketPort
    ポートを格納する UINT 型変数への参照。

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

  • lpSockAddrLen
    lpSockAddr 内のアドレス長へのポインタ。アドレス長はバイト単位です。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。GetLastError を呼び出すと、固有のエラー コードを取得できます。このメンバ関数では、次のエラーが発生します。

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

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

  • WSAEFAULT   引数 lpSockAddrLen の長さが不足しています。

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

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

  • WSAEINVAL   ソケットは Bind を使ってアドレスにバインドされていません。

解説

最初に Bind を呼び出さずに Connect を呼び出してしまったときに有用です。つまり、システムが設定したローカルな関連付けを調べるためだけに用意されています。

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

必要条件

ヘッダー : afxsock.h

参照

参照

CAsyncSocket クラス

階層図

CAsyncSocket::Bind

CAsyncSocket::Create

CAsyncSocket::GetPeerName

その他の技術情報

CAsyncSocket のメンバ