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