CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

菜鸟问题,如何根据域名得到该服务器的IP地址,知道IP地址又如何得到该机的域名

楼主yuezw()羊拉多纳()2004-05-02 17:53:11 在 VC/MFC / 网络编程 提问

什么平台无所谓,最好是C++的代码,我好看懂。  
    yuezw@163.com  
  问题点数:100、回复次数:3Top

1 楼halk(不当老大已经很久了)回复于 2004-05-02 18:40:43 得分 20

不用什么代码,一个函数就够了。  
  gethostbyname,   gethostbyaddr  
  去MSDN查一查,自己动手来做,才能真正搞明白。很简单的东西,不要总是期望别人把代码写出来给你。Top

2 楼yhqs540(Reich)回复于 2004-05-03 09:11:17 得分 10

你填写进去就可以了,windows自动找dns进行解析Top

3 楼wwwllg(野蛮人)回复于 2004-05-03 09:36:02 得分 70

BOOL   CGetSMTPHostName::GetSmtpHostName(CString   _EmailAddress,   CString&   _HostName)  
  {  
  BOOL   bRV   =   TRUE;  
  _HostName.Empty();  
  int   start   =   _EmailAddress.Find('@')+1;  
  CString   strDomain   =   _EmailAddress.Mid(start,_EmailAddress.GetLength()-start);  
  if(   !   strDomain.IsEmpty())  
  {  
  //   First,   look   in   our   map   to   see   if   we   have   looked   up   this   SMTP   Host   before  
  m_SMTPHostIterator   =   m_SMTPHost.find(strDomain);  
  if(m_SMTPHostIterator   !=   m_SMTPHost.end())  
  {  
  //   Great,   we've   looked   this   one   up   before...  
  _HostName   =   (*m_SMTPHostIterator).second;  
  //   Is   it   unknown???  
  if(_HostName   ==   "UNK")  
  {  
  bRV=FALSE;  
  _HostName.Empty();  
  }  
  }  
  else  
  {  
  //   OK,   we   haven't   looked   this   up   before,   so   look   it   up  
  DNS_RECORD*   ppQueryResultsSet   =   NULL;  
  DNS_STATUS   statusDNS   =   ::DnsQuery(   strDomain,   DNS_TYPE_MX,   DNS_QUERY_STANDARD,   NULL,   &ppQueryResultsSet,   NULL   );  
  if(statusDNS   ==   ERROR_SUCCESS)  
  {  
  //   Found   the   SMTP   Host   Name,   insert   it   into   our   map  
  _HostName   =   ppQueryResultsSet->Data.MX.pNameExchange;  
  m_SMTPHost.insert(HostMapValue(strDomain,_HostName));  
  }  
  else  
  {  
  //   I   have   opted   to   place   unknown   domains   in   the   map   to   reduce  
  //   the   time   that   I   spend   looking   up   the   domain   names.     You  
  //   may   want   to   implement   this   differently   for   your   usage.  
  bRV   =   FALSE;  
  DNS_STATUS   theError   =   statusDNS;  
  m_SMTPHost.insert(HostMapValue(strDomain,"UNK"));  
  }  
  }  
  }  
  else  
  {  
  //   OOPS,   is   this   a   valid   email   address?  
  bRV   =   FALSE;  
  }  
  return(bRV);  
  }  
   
  这是通过邮件地址得到smtp的服务器名,然后通过gethostbyname得到   ip;  
   
  如果有IP,可通过gethostbyaddr得到机器名,不一定是域名。  
   
  Top

相关问题

  • 一台服务器,一个固定IP,能不能同时做多个域名的WEB服务器
  • 一台域名服务器,一个IP地址,如何配置多个网站?
  • 关于域名和服务器ip地址绑定的小问题
  • ***HELP,,,,我的服务器用IP能访问,用域名却不能访问
  • 900分,如何搜索到全部yahoo,hotmail邮件服务器的ip或域名(程序、域名服务器、网站相关均可),欢迎讨论。
  • 如果有自己的服务器,不用申请域名,直接使用服务器的IP也可以访问吗?
  • 以前web服务器和mail服务器在一台机器上,现在分开了,我有2个IP一个域名要怎么设置啊??
  • 如何才能看到网站的IP地址?我们的域名服务器不好使。
  • 如何使得只能通过域名访问web服务器,通过不能ip访问
  • 急急!三网卡服务器,子网ping ip可以出去internet,ping (域名)却不通

关键词

  • 代码
  • start
  • null
  • smtphostiterator
  • strdomain
  • emailaddress
  • hostname
  • look
  • dns
  • cstring

得分解答快速导航

  • 帖主:yuezw
  • halk
  • yhqs540
  • wwwllg

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo