1、vc6.0 socket編程中如何使用一個域名而不是ip地址來創建連接?
inet_addr只接受點分十進制IP字元串,對於域名,你需要先通過DNS協議將其轉化成IP地址,通過gethostbyname實現。
2、有一個用vc++編得實現ip和域名的程序。域名能轉換成ip,但ip轉換不成域名。
你的第二個功能不是用ip查詢域名,而是返回用戶名。
如果你輸入一個本地區域網內的ip地址,你就可以看出來,返回的是主機名
3、C# winform 獲取域名ip
using System.Net;//申明baidu
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = "";
IPHostEntry dnstoip = new IPHostEntry();
dnstoip = Dns.Resolve("mm56mm.3322.org");
for (int i = 0; i < dnstoip.AddressList.Length; i++)
{
textBox1.AppendText(textBox1.Text.ToString() + "對應的IP地址版是權" + dnstoip.AddressList[i].ToString());
}
}
4、如何更改VC6.0的設置為通過IP登錄web client的方式
通過IP地址登錄抄VC6.0的web client後總是跳轉成襲域名地址,而我這里域名和DNS只是用於EXSI主機和VC的,所以管理機器解析不了VC的地址,且管理機器還不固定,請問如何更改設置使在登錄VC6.0的web client後不再跳轉成域名地址
5、VC++中如何將 域名轉換成IP!
gethostbyname函數
6、vc域名哪裡可以注冊?
vc域名之前還是可以注冊的,現在因為沒有獲得工信部審批,被國內注冊商下架了,無法在國內注冊。如果要注冊,可以選擇海外注冊商,或者在國內注冊能備案的域名,如com、cn、top等。
7、如何更改vc6.0的設置為通過ip登錄web client的方式
通過IP地址登錄VC6.0的web client後總是跳轉成域名地址,而我這里域名和DNS只是用於回EXSI主機和VC的,所答以管理機器解析不了VC的地址,且管理機器還不固定,請問如何更改設置使在登錄VC6.0的web client後不再跳轉成域名地址
8、域名轉換IP 關於gethostbyname函數的具體使用幫忙改錯
不知道你是否用windows,是否用vc++.
winsocket 要初始化後才好用。給你改了一下。vc++ 編譯器頭文件不同於你的。
.cpp 程序:
#include<stdio.h>
#include<afxsock.h> // vc++
int main(){
int i;
// 初始化
WSADATA wsa;
WORD wVersionRequested;
wVersionRequested = MAKEWORD( 2, 0 );
if (WSAStartup(wVersionRequested , &wsa)!=0)
{ printf("Winsock Initialization failed.\n"); exit(0);
};
//抄你的,不變化
struct hostent *he=gethostbyname("www.sina.com.cn");
if(he!=NULL){
printf("h_name:%s\n",he->h_name);
printf("h_length:%d\n",he->h_length);
printf("h_addrtype:%d",he->h_addrtype);
for(i=0;he->h_aliases[i] !=NULL;i++)
printf("h_aliases%d:%s\n",i+1,he->h_aliases[i]);
for(i=0;he->h_addr_list[i]!=NULL;i++){
struct in_addr *addr;
addr=(struct in_addr *)he->h_addr_list[i];
printf("ip%d:%s\n",(i+1),inet_ntoa(*addr));
}
}
else
//printf("gethostbyname error:%s\n",hstrerror(h_errno)); //vc++無此函數
printf("gethostbyname error:\n");
return 0;
}
------------
運行結果正確。
vc++ 調
id = WSAGetLastError();
switch (id)
{
case WSANOTINITIALISED: printf("not initialized\n"); break;
case WSASYSNOTREADY: printf("sub sys not ready\n"); break;
case WSAHOST_NOT_FOUND: printf("name server not found\n"); break;
case WSATRY_AGAIN: printf("server fail\n"); break;
case WSANO_RECOVERY: printf("no recovery\n"); break;
case WSAEINPROGRESS: printf("socket blocked by other prog\n"); break;
case WSANO_DATA: printf("no data record\n"); break;
case WSAEINTR: printf("blocking call canciled\n"); break;
// case WSAVERNOTSUPPORTED: printf("not support\n"); break;
case WSAEPROCLIM: printf("limit exceeded\n");
case WSAEFAULT: printf("lpWSAData in startup not valid\n");
default: printf("unknown error id = %d\n",id); break;
};
得查錯信息。