gethostbyname的2种用法得到IP(字符型和bigendian整数型)

本文介绍如何通过域名获取对应IP地址,并演示初始化网络配置的过程,包括使用WSAStartup函数进行初始化,以及如何通过gethostbyname函数解析主机名到IP地址,并最终设置网络地址结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BOOL DomainToIP(char *Domain,char *toIP)  //由域名得到IP地址 
 { 
 	HOSTENT *host_entry; 
 	host_entry=gethostbyname(Domain); 
 	if(host_entry!=0) 
 	{ 
 		sprintf(toIP,"%d.%d.%d.%d", 
 			(host_entry->h_addr_list[0][0]&0xff), 
 			(host_entry->h_addr_list[0][1]&0xff), 
 			(host_entry->h_addr_list[0][2]&0xff), 
 			(host_entry->h_addr_list[0][3]&0xff)); 
 	} 
 	else 
 	{ 
 		return FALSE; 
 	} 
 	return TRUE; 
 }


void Init(char*hostname,unsigned short port)
	{
		WSAStartup(0x0202,&m_wsa);
		struct hostent* host;
		host =gethostbyname(hostname);
		if(host==NULL)
		{
			MessageBox(NULL,TEXT("unable to resolve host name"),
				TEXT("warning"),MB_OK);
			PostQuitMessage(0);
		}
		m_IP=*((unsigned long*)host->h_addr);
		m_port=htons(port);
		m_addr.sin_port=m_port;
		m_addr.sin_family=AF_INET;
		m_addr.sin_addr.s_addr=m_IP;
	};



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值