remote_host一般只能得到IP地址,要怎么配置IIS才能追踪到主机名称?

解决方案 »

  1.   

    用api
    he Windows Sockets getpeername function gets the address of the peer to which a socket is connected.int getpeername (    SOCKET s,
        struct sockaddr FAR*  name,
        int FAR*  namelen
       );
     Parameterss[in] A descriptor identifying a connected socket.name[out] The structure which is to receive the name of the peer.namelen[out] A pointer to the size of the name structure. Resgetpeername retrieves the name of the peer connected to the socket s and stores it in the struct sockaddr identified by name. It can be used only on a connected socket. For datagram sockets, only the name of a peer specified in a previous connect call will be returned綼ny name specified by a previous sendto call will not be returned by getpeername.
    On return, the namelen argument contains the actual size of the name returned in bytes.Return ValuesIf no error occurs, getpeername returns zero. Otherwise, a value of SOCKET_ERROR is returned, and a specific error code can be retrieved by calling WSAGetLastError.Error CodesWSANOTINITIALISED A successful WSAStartup must occur before using this function.
    WSAENETDOWN The network subsystem has failed.
    WSAEFAULT The name or the namelen argument is not a valid part of the user address space, or the namelen argument is too small.
    WSAEINPROGRESS A blocking Windows Sockets 1.1 call is in progress, or the service provider is still processing a callback function.
    WSAENOTCONN The socket is not connected.
    WSAENOTSOCK The descriptor is not a socket.
     See Alsobind, getsockname, socket