首页 > 编程语言 > 详细

Get all Ethernet information in Swift

时间:2016-01-16 19:21:44      阅读:138      评论:0      收藏:0      [点我收藏+]
 1 class getInterfaceInformation{
 2     //get ethernet information about name,address,netmask,broadcast
 3     static func getInterfaceInformation() -> [String:[String]] {
 4         var information = [String:[String]]()
 5         var ifaddr:UnsafeMutablePointer<ifaddrs> = nil
 6         //retrieve the current interface -- return 0 on success
 7         if getifaddrs(&ifaddr) == 0 {
 8             var interface = ifaddr
 9             //loop through linked list of interface
10             while interface != nil {
11                 if interface.memory.ifa_addr.memory.sa_family == UInt8(AF_INET) {//ipv4
12                     let interfaceName = String.fromCString(interface.memory.ifa_name)
13                     let interfaceAddress = String.fromCString(inet_ntoa(UnsafeMutablePointer<sockaddr_in>(interface.memory.ifa_addr).memory.sin_addr))
14                     let interfaceNetmask = String.fromCString(inet_ntoa(UnsafeMutablePointer<sockaddr_in>(interface.memory.ifa_netmask).memory.sin_addr))
15                     let interfaceBroadcast = String.fromCString(inet_ntoa(UnsafeMutablePointer<sockaddr_in>(interface.memory.ifa_dstaddr).memory.sin_addr))
16                     
17                     if let name = interfaceName {
18                         let temp = [interfaceAddress!,interfaceNetmask!,interfaceBroadcast!]
19                         information[name] = temp
20                     }
21                 }
22                 interface = interface.memory.ifa_next
23             }
24             freeifaddrs(ifaddr)
25         }
26         return information
27     }
28 }

 

lo0         //Location
en0        //LAN
pdp_ip0  //Cellular
bridge0  //Personal Hotspot

Result:

技术分享

Environment:

Xcode7.0,iPhone7.1

Get Ip address in Swift

Get all Ethernet information in Swift

原文:http://www.cnblogs.com/xwjack1554239786/p/5135897.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!