打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
获取设备目前ip

int hs_getdevicecurrip(char *ip, char *devName)

{

    int sockfd;

    if (-1 == (sockfd = socket(PF_INET, SOCK_STREAM, 0)))

    {

        perror("socket");

        return -1;

    }


    struct ifreq req;

    struct sockaddr_in *host;

    bzero(&req, sizeof(struct ifreq));

    strcpy(req.ifr_name, devName);

    if (ioctl(sockfd, SIOCGIFADDR, &req))

    {

        close(sockfd);

        return -1;

    }

    else

    {

        host = (struct sockaddr_in *)&req.ifr_addr;

        strcpy(ip, inet_ntoa(host->sin_addr));

        if (inet_addr(ip) > 0)

        {

            close(sockfd);

            return 0;

        }

    }


    close(sockfd);


    return -1;

}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
linux下ioctl操作网络接口
用ioctl获得本地ip地址
《Linux网络接口》---------struct ifreq struct ifconf
Linux c 获取网络接口IP地址
ioctl函数详解
21、多播
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服