HANDLE WSAAsyncGetHostByName(
  HWND hWnd,              
  unsigned int wMsg,      
  const char FAR *name,  
  char FAR *buf,         
  int buflen              
);
这个函数可以实现我要的功能,可惜需要跟界面关联起来,:(
而起是异步获取的。!
吃晚饭后回来希望得到结果!

解决方案 »

  1.   

    MFC不是有个现成的吗?
    将url分解为ip 以及 端口
      

  2.   

    发过一个,改写一下:
    bool TransURL2IP(const char * url,DWORD dwNameSize char * ip, DWORD dwIPSize)
    {
    char *purl = new char[dwNameSize+1];
    memset(purl, 0, dwNameSize+1);
    strcpy(purl, url);
    char *pdname = purl;

    // 如果url是http://xxx.com/etc/index.html的类型,要捡出域名来
    if(NULL != strstr(purl, "http://"))
    {
    pdname = purl+7;
    }
    for(int i=0;i<strlen(pdname);i++)
    {
    if(pdname[i] == '/')
    {
    pdname[i] = '\0';
    break;
    }



    // gethostname
    LPHOSTENT *lphostent = gethostbyname(pdname);
    delete [] purl; if(NULL == lphostent)
    {
    return false;
    }
    else
    {
    if(dwIPSize < strlen(lphostent->h_addr)+1)
    return false;
    else
    strcpy(ip, lphostent->h_addr);
    }
    return true;
    }
      

  3.   

    楼上的明显有漏洞,如果是用花生壳做的,没有http://的就有问题了。
    不过还是谢谢你。
      

  4.   

    我的是cnmocity.vicp.net
    加上http就不一样了。
      

  5.   

    楼上的明显有漏洞,如果是用花生壳做的,没有http://的就有问题了。
    不过还是谢谢你。我也没告诉你没漏洞,信手写的编译过不过都是问题。只不过概念是这样的而已。
      

  6.   

    嗯,是的,halk的方法虽然很好,但是只能处理正常情况^_^不过用ping的方法来实现实在是太麻烦了-_-b
      

  7.   

    是啊,花生壳可以将动态ip绑定到一个url上,所以url不变,ip可以变。