如题,请指教.    两台电脑都不是服务器,都只是通过代理服务器上的internet

解决方案 »

  1.   

    accept取得真实IPip 和 port 是accpet()中得到的
    //接受连接请求
    SOCKET sockTemp;
    sockTemp=accept(listenSocket,(LPSOCKADDR)&cin,&lenc);
    if (sockTemp==INVALID_SOCKET)
    ;
    else
    {   
    //ipaddr=cin.sin_addr.S_un.S_addr;
    //CString strIP;
    //strIP.Format("%d.%d.%d.%d",cin.sin_addr.S_un.S_un_b.s_b1,cin.sin_addr.S_un.S_un_b.s_b2,cin.sin_addr.S_un.S_un_b.s_b3,cin.sin_addr.S_un.S_un_b.s_b4);
    clientSocket.AddTail(sockTemp);
    SendParam sendParam;
    sendParam.pSock=&(clientSocket.GetTail());
    sendParam.pos=clientSocket.GetTailPosition();
    AfxBeginThread(fnSendPictureProc,&sendParam);
    }