本文共 1076 字,大约阅读时间需要 3 分钟。
ubuntu 主机名
使用下面的命令来查看当前主机的主机名称:sudo /bin/hostname或者:hostname使用下面的命令来设置当前主机的主机名称:sudo /bin/hostname newname要永久重设主机名则需手工修改/etc/hostname文件。 刚刚在做域名解析那,对这稍微有所了解,把刚刚的一点心得整理了下,共享之。 先看下这个函数:gethostbynamestruct hostent *gethostbyname(const char *name);
功能:根据域名或者主机名获取IP地址。返回值:一个hostent的结构。如果函数调用失败,将返回NULL。那看下这结构
struct hostent
{ char *h_name; //表示的是主机的规范名 char **h_aliases; //表示的是主机的别名 int h_addrtype; //IP地址的类型 int h_length; //IP地址的长度 char **h_addr_list; //主机的ip地址 注意这是以网络字节顺序保存的一个值};例子:
CString m_strName();
HOSTENT* hst=NULL;
CString strTemp; struct in_addr ia; CString m_strIP=""; hst = gethostbyname((LPCTSTR)m_strName); for(int i=0;hst->h_addr_list[i];i++){ memcpy(&ia.s_addr,hst->h_addr_list[i],sizeof(ia.s_addr)); strTemp.Format("%s/n",inet_ntoa(ia)); m_strIP+=strTemp; }先看下这个函数:gethostbyaddr
struct hostent *gethostbyaddr(const char *name,int len,int type)传入值是IP地址(注意,这里不是简单的字符串,这是网络字节顺序的),然后经过函数处理,将结果由返回值传出。
例子:
DWORD dwIPAddr ;
dwIPAddr = inet_addr("192.168.4.111"); HOSTENT* hst = NULL; hst = gethostbyaddr((LPSTR)&dwIPAddr,4,AF_INET);以上代码在XP系统,VC6.0环境测试通过。
转载地址:http://ytpbi.baihongyu.com/