相信大家都知道花生壳吧?我是动态IP,用了花生壳后INTERNET可以访问我的网站,现在问题是怎么样得到我的这个二级域名对应的IP?我的域名是paper-plane.vicp.net,在我本机上用gethostbyname可以正确得到我的
IP,问题在于程序在其他人机器上运行后得到的却不是我的IP,是服务商的一级域名的IP。哪位高手有方法帮帮我啊???急!!!!!!!!!!!!!!!!!
IP,问题在于程序在其他人机器上运行后得到的却不是我的IP,是服务商的一级域名的IP。哪位高手有方法帮帮我啊???急!!!!!!!!!!!!!!!!!
解决方案 »
- InternetConnect与GetFtpConnection有什么区别
- 给位大牛,问一个关于MFC中SetTimer的问题,用settimer,一定时间后不能调用ontimer,而是调用析构函数,使对话框消失,这是怎么回事呀?很郁闷,调试了一晚上,也没有解决。。。。
- DES算法问题
- 号外:免费组件!
- 有自己用程序实现cmpp3.0协议的朋友近来交流一下:)程序完成后,我准备把她开源。
- Type Lib 注册问题
- 当与数据库断开连接后,vc执行的SQL用catch无法捕获错误,程序会直接异常抛错退出.
- 如何把dialogue 从一个project导出,然后导入到另一个project中使用。
- MFC ODBC,为什么当数据库是空的时候加数据会非法操作?
- 调查一下,你们工作之余,除了上网,还做什么??
- 为何CPropertySheet无法支援99个以上的CPropertyPage......
- CRichEditCtrl的问题--急!!!
paper-plane.vicp.net的IP是:
218.108.198.252;不知道对不对?
////////////////////
char *SERVERIP = new char[16];
hosttoip(SERVERNAME,SERVERIP);/////////////////////////////
BOOL CPlayGameDlg::hosttoip(LPCSTR host,char *ip)
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), &wsaData);
HOSTENT *ht = gethostbyname(host);
if (!ht) return FALSE;
sprintf(ip,"%d.%d.%d.%d",(byte)ht->h_addr_list[0][0],(byte)ht->h_addr_list[0][1],
(byte)ht->h_addr_list[0][2],(byte)ht->h_addr_list[0][3]);
WSACleanup();
return TRUE;
}
////////////////////哪地方有错误吗?
{
struct hostent FAR * lpHostEnt=gethostbyname(sHostName);
sIpAddress.RemoveAll();
if(lpHostEnt==NULL)
{
//产生错误
return GetLastError();
}
//获取IP
int i=0;
LPSTR lpAddr=lpHostEnt->h_addr_list[i];
CString temp;
while(lpAddr)
{
i++;
struct in_addr inAddr;
memmove(&inAddr,lpAddr,4);
//转换为标准格式
temp=inet_ntoa(inAddr);
if(temp.IsEmpty())
{
break;
}
sIpAddress.Add(temp);
lpAddr=lpHostEnt->h_addr_list[i];
}
return 0;
}
调用:if(AfxSocketInit(NULL)==FALSE)//初始化socket
{
AfxMessageBox("Socket Error");
}
CStringArray ip;
CString m_sHostName;
m_sHostName="hpaper-plane.vicp.net";
GetIpAddress(dlg.m_sHostName,ip);
CString temp;
int i=0;
while(i<ip.GetSize())
{
temp+=ip[i];
temp+=";\n";
i++;
}
MessageBox(dlg.m_sHostName+"的IP是:\n"+temp);
}
有些人机器上可以,有些人却不行。
可能跟不同的ISP的DNS解析有关系。
怎样才能保证每台机器都能得出相同的IP呢?
timeout was 2 seconds.
Non-authoritative answer:
Name: paper-plane.vicp.net
Address: 219.82.102.60
csdn咋变成这个样子了?