请各位大侠指教,我在程序中要客户端获取自己的本地IP地址,发送给服务器,请问,这个MFC函数是哪个?

解决方案 »

  1.   

    先用gethostname得到自己的机器名
    再用gethostbyname得到自己机器名对应的ip
    ^_^
      

  2.   

    还不结帖?就象我说的那样啊,干脆我把代码都帖出来给你吧:
     
    gethostname(HostName, sizeof(HostName));// 获得本机主机名.hostent* hn;
    hn = gethostbyname(HostName);//根据本机主机名得到本机ipCString strIPAddr;
    strIPAddr=inet_ntoa(*(struct in_addr *)hn->h_addr_list[0]);//把ip换成字符串形式打完收工!
      

  3.   

    如果本机上有多个网络连接,如何判断哪个IP是可以连接Internet的呢?
      

  4.   

    仅仅想要获得计算机名字:
      char name[100];
      DWORD i=100;    // 注意只能是DWORD类型.不能是int
      GetComputerName(name,&i);
      MessageBox(name);
      四句话搞定.
      并且还不需要打开网络连接
    想要获得ip地址:        WORD wVersionRequested;
            WSADATA wsaData;
            int err;
            wVersionRequested = MAKEWORD( 2, 2 );
            err = WSAStartup( wVersionRequested, &wsaData );
    //根据err的值判断是否成功. char HostName[100];
    gethostname(HostName, 100);// 获得本机主机名.        hostent* hn;
            hn = gethostbyname(HostName);//根据本机主机名得到本机ip        CString strIPAddr;
            strIPAddr=inet_ntoa(*(struct in_addr *)hn->h_addr_list[0]);//把ip换成字符串形
            MessageBox(strIPAddr);