2010-02-24 13 views
7

आईपी के लिए यह सवाल पहले से ही यहाँ कहा गया था: NSNetservice IP addressपरिवर्तित [NSNetservice पतों] पता स्ट्रिंग

और यहाँ: iPhone: Bonjour NSNetService IP address and port

मैं उन दोनों का उपयोग किया है पाने के लिए जहां मैं अब पर हूँ। मेरी समस्या निम्न विधि मैं नहीं है काफी काम है:

- (NSString *)getStringFromAddressData:(NSData *)dataIn { 
    struct sockaddr_in *socketAddress = nil; 
    NSString   *ipString = nil; 

    socketAddress = (struct sockaddr_in *)[dataIn bytes]; 
    ipString = [NSString stringWithFormat: @"%s", 
       inet_ntoa(socketAddress->sin_addr)]; ///problem here 
    return ipString; 
} 

यह एक निर्माण त्रुटि कह देता है दोनों "अपूर्ण प्रकार के सूचक dereferencing" और एक ही लाइन पर "समारोह के अंतर्निहित घोषणा 'inet_ntoa'"।

मैंने जांच की है और मुझे नहीं लगता कि मुझे काम करने के लिए inet_ntoa प्राप्त करने के लिए कुछ प्रकार का ढांचा याद आ रहा है। कोई विचार क्या मैं गलत कर रहा हूँ? धन्यवाद।

+1

वास्तव में inet_ntoa अवमूल्यन है, इसके बजाय inet_ntop का उपयोग करें! – krasnyk

उत्तर

18

आप inet_ntoa की अंतर्निहित घोषणा हो रही है, तो आप शायद

#include <arpa/inet.h> 

(आप inet_ntoa मनुष्य इस जानकारी पाने के लिए और कहा कि समारोह के बारे में अधिक पढ़ सकते हैं)

+0

यह पूरी तरह से काम किया। शीघ्र प्रतिक्रिया के लिए बहुत बहुत धन्यवाद! – mjdth

+0

था के साथ आप मेरी मदद की! मैं ऐसा था कि एक बिल्ली क्या चल रहा है ... –

2

FWIW मैं पोस्ट किया है एक की जरूरत है

iPhone: Bonjour NSNetService IP address and port पर NSNetService पता समाधान को संभालने के लिए अद्यतन कोड स्निपेट अपडेट किया गया।

संबंधित मुद्दे