共用方式為


CAsyncSocket::GetSockName

Call this member function to get the local name for a socket.

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

Parameters

  • rSocketAddress
    Reference to a CString object that receives a dotted number IP address.

  • rSocketPort
    Reference to a UINT that stores a port.

  • lpSockAddr
    A pointer to a SOCKADDR structure that receives the address of the socket.

  • lpSockAddrLen
    A pointer to the length of the address in lpSockAddr in bytes.

Return Value

Nonzero if the function is successful; otherwise 0, and a specific error code can be retrieved by calling GetLastError. The following errors apply to this member function:

  • WSANOTINITIALISED   A successful AfxSocketInit must occur before using this API.

  • WSAENETDOWN   The Windows Sockets implementation detected that the network subsystem failed.

  • WSAEFAULT   The lpSockAddrLen argument is not large enough.

  • WSAEINPROGRESS   A blocking Windows Sockets operation is in progress.

  • WSAENOTSOCK   The descriptor is not a socket.

  • WSAEINVAL   The socket has not been bound to an address with Bind.

Remarks

This call is especially useful when a Connect call has been made without doing a Bind first; this call provides the only means by which you can determine the local association which has been set by the system.

To handle IPv6 addresses, use CAsyncSocket::GetSockNameEx

Requirements

Header: afxsock.h

See Also

Reference

CAsyncSocket Class

Hierarchy Chart

CAsyncSocket::Bind

CAsyncSocket::Create

CAsyncSocket::GetPeerName