iOS获取本地ip(基本通用)

今天有个朋友问我如何访问手机ip,上网找了几个,用了近200多行代码,最后发现头文件用的竟然还是Linux中的,OC没有这个头文件。感觉socket本身应该可以后去自己的ip就试了一下,果然7、8行代码就解决了。这个基本是c的socket,几乎通用,别的平台也可以使用。

- (NSString *)getLocalIP{
    struct sockaddr_in sa;
    socklen_t len = sizeof(sa);
    
    if(getsockname(sockfd, (struct sockaddr *)&sa, &len))
    {
        NSLog(@"获取失败!");
    }
    return [NSString stringWithUTF8String:inet_ntoa(sa.sin_addr)];
}

返回的字符串为本地ip

- (NSString *)getLocalIP{
    socklen_t len = sizeof(serv_addr);
    if(!getpeername(sockfd, (struct sockaddr *)&serv_addr, &len))
    {
        
    }
    NSLog(@"对方IP:%s ", inet_ntoa(serv_addr.sin_addr));
    NSLog(@"对方PORT:%d ", ntohs(serv_addr.sin_port));
    return [NSString stringWithUTF8String:inet_ntoa(serv_addr.sin_addr)];
}
获取对方ip和端口号

iOS获取本地ip(基本通用),,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。