// // CCNetwork.m // CCFC // // Created by xichen on 11-12-23. // Copyright 2011 ccteam. All rights reserved. // #import "CCNetwork.h" @implementation CCNetwork // get the total info of network flow, if returns FALSE, the returns upFlow and downFlow value can't be used. + (BOOL)getTotalNetworkFlow:(size_t *)upFlow withDownFlow:(size_t *)downFlow { struct ifaddrs *ifa_list = 0, *ifa; if (getifaddrs(&ifa_list) < 0) { return FALSE; } *upFlow = 0; *downFlow = 0; for (ifa = ifa_list; ifa; ifa = ifa->ifa_next) { if (ifa->ifa_addr->sa_family != AF_LINK) continue; if (!(ifa->ifa_flags & IFF_UP) && !(ifa->ifa_flags & IFF_RUNNING)) continue; if (ifa->ifa_data == 0) continue; if (strncmp(ifa->ifa_name, "lo", 2)) { struct if_data *if_data = (struct if_data *)ifa->ifa_data; *downFlow += if_data->ifi_ibytes; *upFlow += if_data->ifi_obytes; } } freeifaddrs(ifa_list); return TRUE; } @end
可能有更新:
googlecode链接地址:http://code.google.com/p/iphone-common-codes-ccteam/source/browse/trunk/CCFC/files/CCNetwork.m
github地址: https://github.com/cxsjabc/iphone-common-codes-ccteam/tree/master/CCFC/files/CCNetwork.m
本文详细解读了CCNetwork.m文件中实现的网络流量获取功能,包括代码逻辑与使用方法,适合iOS开发者深入理解网络模块。
79

被折叠的 条评论
为什么被折叠?



