socket 中读取IP地址的方法

来源:百度文库 编辑:神马文学网 时间:2024/04/27 22:18:44
方法1、最可靠的方法:
if (inet_aton(bgpd_host,&(addr.sin_addr)) == 0)
{
//printf("ERROR:Can‘t set dest host address!\n");
//return -1;
host = gethostbyname(bgpd_host);
if (host == NULL);
{
ip_addr = inet_addr(bgpd_host);
host = gethostbyaddr((char *)&ip_addr, 4, PF_INET);
if (host == NULL)
{
//herror("gethostbyaddr");
fprintf(stderr, "HostName Error: %s\n\a",hstrerror(h_errno));
return -1;
}
}
addr.sin_addr = *(struct in_addr *)(host->h_addr_list[0]);
}
方法2、对于直接给出IP的情况,可以调用addr.sin_addr.s_addr = inet_addr(bgpd_host);