Freigeben über


CAsyncSocket::GetSockName

Rufen Sie die Memberfunktion auf, um den lokalen Namen für einen Socket abzurufen.

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

Parameter

  • rSocketAddress
    Verweis auf ein CString-Objekt, das eine durch Punkte getrennte Zahl IP-Adresse empfängt.

  • rSocketPort
    Verweis auf UINT, der einen Port speichert.

  • lpSockAddr
    Ein Zeiger auf eine SOCKADDR-Struktur, die die Adresse des Sockets empfängt.

  • lpSockAddrLen
    Ein Zeiger auf die Länge der Adresse in lpSockAddr in Bytes.

Rückgabewert

ungleich 0 (null), wenn die Funktion erfolgreich; andernfalls 0 und ein bestimmter Fehlercode können abgerufen werden, indem Sie GetLastError aufruft.Die folgenden Fehler gelten für diese Memberfunktion zu:

  • Vor der Verwendung dieser APIs WSANOTINITIALISED einem erfolgreichen AfxSocketInit muss auftreten.

  • WSAENETDOWN, das die Windows Socket-Implementierung hat, dass das Netzwerksubsystem fehlgeschlagen ist.

  • WSAEFAULT das lpSockAddrLen-Argument ist nicht groß genug.

  • Ist blockierenden Windows Socket-Vorgang WSAEINPROGRESS A ausgeführt.

  • WSAENOTSOCK der Deskriptor ist kein Socket.

  • WSAEINVAL der Socket ist nicht auf eine Adresse mit Bind gebunden.

Hinweise

Dieser Aufruf ist besonders nützlich, wenn ein Connect Aufruf ausgeführt wurde, ohne Bind zuerst ausgeführt wird; dieser Aufruf stellt die einzige Möglichkeit, durch die Sie die lokale Zuordnung bestimmen können, die vom System festgelegt wurde.

Um Adressen IPv6 zu behandeln, verwenden Sie CAsyncSocket::GetSockNameEx

Anforderungen

Header: afxsock.h

Siehe auch

Referenz

CAsyncSocket-Klasse

Hierarchien-Diagramm

CAsyncSocket::Bind

CAsyncSocket::Create

CAsyncSocket::GetPeerName