当前位置: 首页 > news >正文

商业网站平台环境艺术设计网站推荐

商业网站平台,环境艺术设计网站推荐,网站开发 页面功能布局,室内设计师灵感网站VC常用功能开发汇总#xff08;专栏文章列表#xff0c;欢迎订阅#xff0c;持续更新...#xff09;https://blog.csdn.net/chenlycly/article/details/124272585C软件异常排查从入门到精通系列教程#xff08;专栏文章列表#xff0c;欢迎订阅#xff0c;持续更新...常用功能开发汇总专栏文章列表欢迎订阅持续更新...https://blog.csdn.net/chenlycly/article/details/124272585C软件异常排查从入门到精通系列教程专栏文章列表欢迎订阅持续更新...https://blog.csdn.net/chenlycly/article/details/125529931C软件分析工具从入门到精通案例集锦专栏文章正在更新中...https://blog.csdn.net/chenlycly/article/details/131405795C/C基础与进阶专栏文章持续更新中...https://blog.csdn.net/chenlycly/category_11931267.html       在使用socket套接字去连接远端的服务器时需要使用IP和远端服务器建链不能直接使用域名但我们配置服务器地址时有时需要设置域名这需要我们在代码中添加域名解析的模块在连接服务器之前将域名解析成IP地址。 1、域名解析的完整流程 经常有朋友询问使用DNS系统查询IP的完整流程这里我们普及一下这一过程。DNS服务器大致分为三种类型根DNS服务器、顶级域DNS服务器和权威DNS服务器其中顶级域DNS服务器主要负责诸如com、org、net、edu、gov 等顶级域名。 根DNS服务器存储了所有顶级域DNS服务器的 IP 地址可以通过根服务器找到顶级域服务器比如百度的域名www.baidu.com根服务器会返回所有维护 com 这个顶级域服务器的 IP 地址。然后你任选其中一个顶级域服务器发送请求该顶级域服务器拿到域名后能够给出负责当前域的权威服务器地址。以 百度的域名为例顶级域服务器将返回所有负责百度这个域的权威服务器地址。接着任选其中一个权威服务器地址查询“www.baidu.com”的具体 IP 地址最终权威服务器会返回给你具体的 IP 地址。此外本地 DNS 服务器是具有缓存功能的通常两天内的记录都会被缓存。 所以通过DNS系统查询域名对应的 IP 的具体步骤可以总结为 ① 操作系统先查本地 hosts文件 中是否有记录如果有则直接返回相对应映射的IP地址。② 如果本地hosts文件中没有配置则主机向自己的本地DNS服务器发送查询报文如果本地DNS服务器缓存中有将直接返回结果。③ 如果本地服务器缓存中没有则从内置在内部的根DNS服务器列表全球13台固定的IP地址中选一个发送查询报文。④ 根服务器解析域名中的后缀名告诉本地服务器负责该后缀名的所有顶级服务器列表。⑤ 本地服务器选择其中一个顶级域服务器发送查询请求顶级域服务器拿到域名后继续解析返回对应域的所有权威服务器列表。⑥ 本地服务器再向返回的权威服务器发送查询报文最终会从某一个权威服务器上得到具体的 IP 地址。⑦ 主机返回结果IP。 2、调用gethostbyname发起域名解析        那如何实现将域名解析成IP地址呢其实很简单只要调用系统API函数gethostbyname即可实现。注意gethostbyname函数可能会产生短暂的堵塞该函数内部会先到网卡配置的DNS服务器上去查询域名对应的IP地址如果本地DNS查询不到则会到远端的DNS服务器上去查询所以可能会比较耗时。 所以我们需要将对gethostbyname函数调用的代码放置在一个新的线程中等解析出来后再将IP信息投递出来给主线程。相关的代码如下所示 // 域名解析线程函数 UINT __stdcall QueryDomainThread( LPVOID pParam ) {char* lpszDomainName (char*)pParam; struct hostent *pHost gethostbyname( lpszDomainName ); if( NULL pHost ) { // ::PostMessage // 通知主线程域名解析失败return 0; }if ( pHost-h_addr_list[0] ! NULL ) { u32 dwIP (*(in_addr*)pHost-h_addr_list[0]).S_un.S_addr; // ::PostMessage // 通知主线程域名解析成功将解析出来的IP投递过去} return 0; }// 发起域名解析创建新的线程去解析 LRESULT StartQueryDomain( char* lpszDomainName ) {// 此处不能直接将局部变量lpszDomainName传到线程函数中因为启动线程的_beginthreadex返回时线程函数不一定跑起来了// 所以最好搞一个成员变量或者全局变量将lpszDomainName中的字符串拷贝下来然后给_beginthreadex传递这个声明周期// 更长的变量strcpy( g_szMDomainName, lpszDomainName );// 线程函数QueryDomainThread的实现上面已经给出HANDLE hThread (HANDLE)_beginthreadex( NULL, 0, QueryDomainThread, (void*)g_szMDomainName, 0, NULL );if( hThread ! NULL ){CloseHandle( hThread );return S_OK;}return S_FALSE; }
http://www.hkea.cn/news/14530948/

相关文章:

  • 静态网站站内搜索asp.net网站开发实训
  • 沭阳哪里有做网站推广的电商网站设计与制作总结
  • 做单页网站要多少钱设计师找素材的网站
  • 河北网站seo优化电子商务网站的作用有哪些
  • 西部数码网站站点海外建站
  • 怎么知道一个网站是哪家公司做的大连开发区网站
  • dede手机网站标签照明做外贸的有那些网站
  • 品牌网站设计公司哪家好做网站做图电脑需要什么配置
  • 音乐网站建设教程专门做销售培训的网站
  • 网站建设创新百竞(湘潭)网站建设
  • 无锡网站建设方案托管如何在网上做销售推广
  • 龙华附近网站建设公司wordpress 金属 主题
  • 做网站湖州wordpress分类目录路径
  • 做网站的话术电商网站创建的几个阶段
  • 手机软件网站wordpress商城建站
  • 做网站建设哪家便宜app 官方网站 案例
  • 网站从制作到使用的全过程如何自己创网站
  • 做游戏课程网站黄冈论坛网
  • 深圳网站制作品牌祥奔科技wordpress做表格插件
  • 英迈寰球网站建设平面设计主要学什么哪些软件
  • 免费搭建私人网站企业ci设计
  • 山西建筑劳务网站北京网页设计软件培训学校
  • 做网站发房源综合语录知乎网站内容建设的逻辑
  • 自行车网站模板网站的ftp别的公司会给么
  • 网站上传后怎么访问网站建设官网制作平台
  • 网站标题字体五合一免费建站
  • 试用网建设网站深圳网络营销的公司哪家好
  • 什么是网站建设中的专用主机厦门网站建设有哪些公司
  • 安卓网站开发环境外贸网店怎么开
  • 网站备案初审过了网站seo排名优化工具在线