发信人: feibbs()
整理人: (1999-03-11 12:25:42), 站内信件
|
作为 TCP/IP 版的副版主,几乎每天都会看到有人提问有关于 Winsock 编程中的 IP 地址和主机名字的问题,今天就介绍一下在 Winsock 编程中取得 IP 地址和 主机名字的方法,有什么问题请告诉我。
-----------------------------------------------------------------
//1.取得本地主机地址名字和地址
HOSTENT * pHostInfo;
char pszName[256], pszAddr[256];
//取得本地主机名字
if(gethostname(pszName, 256) != SOCKET_ERROR)
{
//通过主机名字取得主机信息
pHostInfo = gethostbyname(pszName);
if(pHostInfo)
//把主机地址转换成字符串后拷贝到自己程序的字符串缓冲区
lstrcpy(pszAddr, inet_ntoa(*(IN_ADDR *)(pHostInfo->h_addr)));
}
-----------------------------------------------------------------
//2.通过主机名字取得主机地址
HOSTENT * pHostInfo;
char pszAddr[256];
//通过主机名字取得主机信息
pHostInfo = gethostbyname("www.microsoft.com");
if(pHostInfo)
//把主机地址转换成字符串后拷贝到自己程序的字符串缓冲区
lstrcpy(pszAddr, inet_ntoa(*(IN_ADDR *)(pHostInfo->h_addr)));
-----------------------------------------------------------------
//3.通过主机地址取得主机名字
HOSTENT * pHostInfo;
IN_ADDR Addr;
char pszName[256];
//转换主机地址后通过主机地址取得主机信息
Addr.S_un.S_addr = inet_addr("207.46.130.14");
pHostInfo = gethostbyaddr((char *)&Addr, 4, PF_INET);
if(pHostInfo)
//把主机名字字符串拷贝到自己程序的字符串缓冲区
lstrcpy(pszName, pHostInfo->h_name);
-- 请支持我的网页:http://feiweb.163.net
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.133.243]
|
|