android获取虚拟网卡地址,C#获取指定网卡的ip地址

最近几天都在玩游戏,没怎么编程,感觉好空虚啊!主要是之前在Android上建立wifi热点出现了一些问题,难以进展下去,于是便耽搁了,今天决定先跳过那个问题,Android手机之间的传输先暂时不考虑,先做一下Android与PC之间的数据传输。

刚刚主要完成了这么一件事情,根据指定的网卡获取其ip,以便之后的socket使用。

会出现这个问题是因为我是利用Win7的netsh功能建立的虚拟网卡,它与其它网卡可以同时存在,这就意味着这台主机可能拥有多个ip地址,然而我们需要的只是我们建立的虚拟网卡的那个ip地址,实现方法如下:

NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();//获取本机所有网卡对象

foreach (NetworkInterface adapter in adapters)

{

if (adapter.Description.Contains("Virtual"))//枚举条件:描述中包含"Virtual"

{

IPInterfaceProperties ipProperties = adapter.GetIPProperties();//获取IP配置

UnicastIPAddressInformationCollection ipCollection = ipProperties.UnicastAddresses;//获取单播地址集

foreach (UnicastIPAddressInformation ip in ipCollection)

{

if (ip.Address.AddressFamily == AddressFamily.InterNetwork)//只要ipv4的

ipAddress = ip.Address;//获取ip

}

}

}

任务完成!下面开始学习socket通信。

by 邓斌HADB of 好易思特HAOest

2012-7-28 中午于成都

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值