c++ - iPhone track only cellular data -
बेल की सफलता; संरचना ifaddrs * addrs; Const struct ifaddrs * कर्सर; Const struct if_data * networkStatisc; फ्लोट वाईफ़िएस्टेंट = 0; फ्लोट वाईफ़ाई = 0; U_int64_t WWANSent = 0; U_int64_t WWANReceived = 0; NSString * नाम = [[[NSString alloc] init] autorelease]; सफलता = प्राप्तकर्ता (और जोड़) == 0; अगर (सफलता) {cursor = addrs; जबकि (कर्सर! = नल) {name = [NSString stringWithFormat: @ "% s", कर्सर- & gt; ifa_name]; एनएसएलॉग (@ "ifa_name% s ==% @ \ n", कर्सर- & gt; ifa_name, नाम); इंटरफेस के // नाम: एन0 वाईफाई है, पीडीपी_पी 0 है WWAN अगर (कर्सर- & gt; आईएए_एडीआर- & gt; एसए_फैमिली == AF_LINK) {यदि ([नाम हैप्रफ़िक्स: @ "एन"]) {// नेटवर्क स्टेटस = (कॉन्स्ट स्ट्रैट if_data *) कर्सर- & gt; ifa_data; // WiFiSent + = networkStatisc- & gt; ifi_obytes; // WiFiReceived + = networkStatisc- & gt; ifi_ibytes; // NSLog (@ "वाईफाईसेंट% एफ ==% डी", वाईफाईसेंट, नेटवर्क स्टेटस- & gt; ifi_obytes); // एनएसएलॉग (@ "वाईफाई आरिसेव्ड% एफ ==% डी", वाईफाई प्राप्त, नेटवर्क स्टेटस- & gt; आईएफआई_इबेट्स); } अगर ([नाम हैपीफिक्स: @ "पीडीपी_िप"]) {नेटवर्कस्टैटिक = (कॉन्स्ट्रस्ट्रक्शन if_data *) कर्सर- & gt; ifa_data; WWANSent + = networkStatisc- & gt; ifi_obytes; WWANReceived + = networkStatisc- & gt; ifi_ibytes; एनएसएलॉग (@ "डब्ल्यूडब्ल्यूसार्ट% एलएलयू ==% डी", डब्ल्यूडब्ल्यूसीएन्ट, नेटवर्कस्टैटिक्स- & gt; आईआईआई-बाइट्स); एनएसएलॉग (@ "WWANReceived% llu ==% d", WWANReceived, networkStatisc- & gt; ifi_ibytes); }} कर्सर = कर्सर- & gt; ifa_next; } फ्रीफैडर्स (योजक); }
मैंने उस पंक्ति पर टिप्पणी की है जो वाईफाई को डेटा का उपयोग करता है, लेकिन यह अभी भी वाईफ़ाई डेटा को WWAN इंटरफ़ेस में उपयोग करता है।
मैं केवल सेलुलर डेटा का उपयोग करना चाहता हूं (3 जी डेटा आईफोन पर उपयोग करता है) वाईफ़ाई डेटा नहीं।
धन्यवाद
Comments
Post a Comment