解决方案 »

  1.   

    可以获取已经建立的IP用getpeername可以获得CString strIP; struct sockaddr_in *SockAddrIn_RTP = (struct sockaddr_in *)malloc(sizeof(struct sockaddr_in));
    int nNameLen = sizeof(struct sockaddr_in);
    if (getpeername(hSocket, (struct sockaddr *) SockAddrIn_RTP, &nNameLen) == SOCKET_ERROR)
    {
    int nErr = WSAGetLastError();
    DW(_T("RTSP_AllocLocalRTPPort getsockname Failed. nErr = %d"),nErr);
    free(SockAddrIn_RTP);
    return "";
    }

    strIP = inet_ntoa(SockAddrIn_RTP->sin_addr);
    int nPort = ntohs( SockAddrIn_RTP->sin_port );
    free(SockAddrIn_RTP); DT("Remote IP = %s , Port = %d",strIP,nPort);