028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

在socket中运用域名-创新互联

客户端中直接运用IP地址会有很大的弊病,一旦IP地址变更(IP地址会常常变化),客户端软件就会呈现毛病。
而运用域名会便利许多,注册后的域名只需每年续费就永远属于本人的,改换IP地址时修正域名解析即可,不会影响软件的正常运用。
关于域名注册、域名解析、host 文件、DNS 效劳器等本节并未具体解说,请读者自行脑补。本节重点解说若何运用域名。

成都创新互联公司专注于肃州企业网站建设,成都响应式网站建设公司,商城建设。肃州网站建设公司,为肃州等地区提供建站服务。全流程按需定制开发,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

经过域名获取IP地址

域名仅仅是IP地址的一个助记符,目标是便利记忆,经过域名并不克不及找到目的盘算机,通讯之前必需要将域名转换成IP地址。
gethostbyname() 函数可以完成这种转换,它的原型为:

			struct hostent *gethostbyname(const char *hostname);

hostname 为主机名,也就是域名。运用该函数时,只需传递域名字符串,就会前往域名对应的IP地址。前往的地址信息会装入 hostent 构造体,该构造体的界说如下:

			struct hostent{ char *h_name; //official name char **h_aliases; //alias list int h_addrtype; //host address type int h_length; //address lenght char **h_addr_list; //address list }

从该构造体可以看出,不只前往IP地址,还会附带其他信息,列位读者只需存眷最初一个成员 h_addr_list。下面是对各成员的阐明:

hostent 构造体变量的构成如下图所示:
在socket中运用域名
下面的代码次要演示 gethostbyname() 的使用,并阐明 hostent 构造体的特征:

			#include  #include  #include  #pragma comment(lib, "ws2_32.lib") int main(){ WSADATA wsaData; WSAStartup( MAKEWORD(2, 2), &wsaData); struct hostent *host = gethostbyname("www.baidu.com"); if(!host){ puts("Get IP address error!"); system("pause"); exit(0); } //别号 for(int i=0; host->h_aliases[i]; i++){ printf("Aliases %d: %s\n", i+1, host->h_aliases[i]); } //地址类型 printf("Address type: %s\n", (host->h_addrtype==AF_INET) ? "AF_INET": "AF_INET6"); //IP地址 for(int i=0; host->h_addr_list[i]; i++){ printf("IP addr %d: %s\n", i+1, inet_ntoa( *(struct in_addr*)host->h_addr_list[i] ) ); } system("pause"); return 0; }

运转后果:
Aliases 1: www.baidu.com
Address type: AF_INET
IP addr 1: 61.135.169.121
IP addr 2: 61.135.169.125

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:在socket中运用域名-创新互联
网站路径:http://www.tsicrk.com/article/dhsdgs.html

其他资讯

让你的专属顾问为你服务

6.2342s