socket 中读取IP地址的方法

来源:百度文库 编辑:神马文学网 时间:2024/04/27 17:55:46
方法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);