工控编程吧
标题:
339上位机VC MFC实现域名解析
[打印本页]
作者:
qq263946146
时间:
2016-9-21 20:51
标题:
339上位机VC MFC实现域名解析
(, 下载次数: 0)
上传
点击文件名下载附件
实现域名解析
功能展示
套接字在我们编写网络程序时必不可少,而套接字是基于TCP/IP协议,所以在遇到给定的网络地址时得进行一次转换,将网址转换为IP地址才能进行后续程序的编写,我们当前例程就实现域名的解析功能,效果如图;输入网址后,点击按钮可以将指定的网址转换为其对应的IP地址
要点提示
当前例程主要是通过函数gethostbyname()实现域名的解析功能。 gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostbyaddr()中一致。
返回类型structhostent{
charFAR*h_name;
charFAR*FAR*h_aliases;
shorth_addrtype;
shorth_length;
charFAR*FAR*h_addr_list;
};
实现功能
1.新建基于对话框的应用程序
2.在主对话框中调用AfxSocketInit();对套接接库的初始化,及添加其所在头文件#include <afxsock.h>
3.依照例程界面添加两编辑框IDC_EDIT1, IDC_EDIT2分别用于域名的输入及解析后IP地址的显示,再添加一按钮<获取域名对应IP>关联按钮的点击函数
void CGkbc8Dlg::OnGet()
{
HOSTENT* hst=NULL;
CString sName,strip,tmp;
GetDlgItemText(IDC_EDIT1,sName);
struct in_addr ia;
hst=gethostbyname((LPCTSTR)sName);
for(int i=0;hst->h_addr_list
;i++)
{
memcpy(&ia.s_addr,hst->h_addr_list
,sizeof(ia.s_addr));
tmp.Format("%s \n",inet_ntoa(ia));
strip+=tmp;
}
SetDlgItemText(IDC_EDIT2,strip);
}
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/9f4fa69c1d2d965eab5c4e51ee9a0ae7/0/0/w_19rstij5ad.swf-albumId=6347186409-tvId=6347186409-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件 [weixinlianxi]1[/weixinlianxi]
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4