这几天在弄Ipad的项目,我利用了DNs方法获取Ipad的局域网IP,在PC上并没有什么问题,但是到了Ipad一直都连不上服务器这里,然后就把IP打印出来,发现IP地址不对的说,DNs好像获取到的是别的IP地址。

然后我上网查了一下资料找到新的方法,代码如下:(PS:我顺便把Dns的代码一起放出来,第一个方法好像在PC上也适用,但是安卓和其他平台我没有去发布)

///
/// 获取局域网的IP
///
///
public string GetAddressIP()
{
string AddressIP = string.Empty;
#if UNITY_IPHONE
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); ;
foreach (NetworkInterface adapter in adapters)
{
if (adapter.Supports(NetworkInterfaceComponent.IPv4))
{
UnicastIPAddressInformationCollection uniCast = adapter.GetIPProperties().UnicastAddresses;
if (uniCast.Count > 0)
{
foreach (UnicastIPAddressInformation uni in uniCast)
{
//得到IPv4的地址。 AddressFamily.InterNetwork指的是IPv4
if (uni.Address.AddressFamily == AddressFamily.InterNetwork)
{
AddressIP = uni.Address.ToString();
}
}
}
}
}
#endif
#if UNITY_STANDALONE_WIN
///获取本地的IP地址
foreach (IPAddress _IPAddress in Dns.GetHostEntry(Dns.GetHostName()).AddressList)
{
if (_IPAddress.AddressFamily.ToString() == “InterNetwork”)
{
AddressIP = _IPAddress.ToString();
}
}
#endif
return AddressIP;
}

记得自己引入using System.Net.NetworkInformation;不然代码是会有错误的

给大家提个醒在项目的编程中尽量别使用foreach,如果想知道为什么直接去百度和谷歌去。

/// <summary>
/// <span style="font-family: Arial, Helvetica, sans-serif;">获取局域网的IP</span>
/// </summary>
/// <returns></returns>
public string GetAddressIP()
{string AddressIP = string.Empty;

#if UNITY_IPHONE
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
for (int i = 0; i < adapters.Length; i++)
{
if (adapters[i].Supports(NetworkInterfaceComponent.IPv4))
{
UnicastIPAddressInformationCollection uniCast = adapters[i].GetIPProperties().UnicastAddresses;
if (uniCast.Count > 0)
{
for (int j = 0; j < uniCast.Count; j++)
{
//得到IPv4的地址。 AddressFamily.InterNetwork指的是IPv4
if (uniCast[j].Address.AddressFamily == AddressFamily.InterNetwork)
{
AddressIP = uniCast[j].Address.ToString();
}
}
}
}
}
#endif
#if UNITY_STANDALONE_WIN || UNITY_ANDROID
///获取本地的IP地址
for (int i = 0; i < Dns.GetHostEntry(Dns.GetHostName()).AddressList.Length; i++)
{
if (Dns.GetHostEntry(Dns.GetHostName()).AddressList[i].AddressFamily.ToString() == “InterNetwork”)
{
AddressIP = Dns.GetHostEntry(Dns.GetHostName()).AddressList[i].ToString();
}
}
//foreach (IPAddress _IPAddress in Dns.GetHostEntry(Dns.GetHostName()).AddressList)
//{
// if (_IPAddress.AddressFamily.ToString() == “InterNetwork”)
// {
// AddressIP = _IPAddress.ToString();
// }
//}
#endif
return AddressIP;
}

iOS获取局域网的IP相关推荐

  1. python3+scapy扫描获取局域网主机ip和mac

    python3+scapy扫描获取局域网主机ip和mac ''' python3 安装scapy-python3 注:linux,可能需要以root登陆,避免出现permission error Sc ...

  2. openwrt利用arp获取局域网设备IP

    openwrt利用arp获取局域网设备IP 文章目录 openwrt利用arp获取局域网设备IP 1. 前言 2. ARP概念 3. arp局域网搜索设备实现思路和代码 1. 前言 目前我们通过arp ...

  3. python获取局域网在线主机_pythond的icmp广播报获取局域网主机IP

    icmp广播报获取局域网四川特产IP from scapy.all import * import random import threading def scan(sip,dip): pkt = E ...

  4. iOS 获取手机的ip地址 并传给后台(三步搞定)

    第一步 创建一个NSObject 文件 .h 文件 写 #import <Foundation/Foundation.h> @interface NSObject (GetIP) + (N ...

  5. iOS 获取手机ip(非局域网)

    最近有需求获取当前用户的手机ip地址,在网上看了很多,成功跑的地址看着跟手机上获取的本地ip完全不一样,最后多了解才发现获取的全是局域网...(要不是用手机搜索了一下IP,差点就信了). 最后找到了一 ...

  6. Python获取局域网内所有机器IP地址与网卡MAC地址

    已发相关文章请参考Python获取本机所有网卡的MAC地址 本文代码使用ARP协议获取局域网内所有计算机的IP地址与MAC地址,思路是使用系统命令arp获取ARP表并生成文本文件,然后从文件中读取和解 ...

  7. java获取局域网内主机,java怎么获取局域网内所有主机ip

    java怎么获取局域网内所有主机ip 关注:53  答案:2  mip版 解决时间 2021-01-27 21:31 提问者夢岭杺 2021-01-27 12:02 java怎么获取局域网内所有主机i ...

  8. iOS获取WIFI配置信息,WIFI名称、网关(路由器地址)、本机IP地址、DNS

    DEMO地址(看代码,什么就都有了):https://github.com/SimpleBraver/test_wifi.git 1.获取当前手机WIFI名称信息 #import <System ...

  9. Android 获取局域网内网IP地址

    Android 获取局域网内网IP地址 废话 上代码 完事 废话 拿局域网IP一般用在tcp通讯或udp通讯上,下次再整理下这类通讯的框架 上代码 /*** 网络工具* 获得局域网IP地址* @aut ...

最新文章

  1. 删除单链表中的重复节点(c语言版本)
  2. 江苏省计算机一级在线考试,2020江苏省一级计算机基础及MS Office应用考试在线自测试题库(不限设备,登陆即可做题)...
  3. 命令提示符中的几个重要的命令
  4. 算法学习——决策单调性优化DP
  5. 我想快速给WPF程序添加托盘菜单
  6. 实现离线加域---Windows2008 R2 新功能系列之八
  7. 微信小程序,小游戏sockect报错修复集合
  8. 计算机二级是要报所有科目吗,我要报考计算机等级考试二级,是全部科目都要考吗?...
  9. ubuntu搭建nginx服务器,并测试axel与wget的下载速度
  10. break stop java_怎么break java8 stream的foreach
  11. sort目标跟踪算法
  12. 模电_第八章_功率放大电路
  13. 看完即会,抓取微信小程序数据包教程
  14. 不窃取用户隐私的搜索引擎: DuckDuckGo
  15. 【MRI】GRAPPA (GeneRalized Autocalibrating Partially Parallel Acquisitions) 算法 仿真实验与原理剖析 (Matlab 实现)
  16. Virtual ChIP-seq: predicting transcription factor binding by learning from the transcriptome
  17. Puddings收获
  18. 科技兴关,荣联与天津海关共建基因组数据库及分析平台
  19. Python qrcode二维码操作——(一)简单使用qrcode
  20. STM32 CAN笔记(一)

热门文章

  1. text-overflow属性的使用
  2. 【Turtle圣诞系列】今年的圣诞树都来了圣诞还会远吗?(内含多份源码)
  3. HMM(马尔科夫过程及隐马尔科夫过程)
  4. 思科配置系统日志服务器配置,思科交换机路由器配置日志服务器脚本
  5. 【论文阅读】7-Discovering Structural Regularity in 3D Geometry
  6. P1551 亲戚 (并查集)
  7. VMware vSphere理论
  8. 手动安装EVE-NG模拟器
  9. 《Android FFmpeg 播放器开发梳理》第一章 播放器初始化与解复用流程
  10. html datatable修改行,DataTable根据条件修改行颜色和特定格颜色