2010-02-24 11 views
7

La domanda è stata già chiesto qui: NSNetservice IP addressConversione [indirizzi] NSNetservice a IP indirizzo stringa

e qui: iPhone: Bonjour NSNetService IP address and port

Ho usato sia di coloro che per arrivare dove sono a ora. Il mio problema è il seguente metodo non ho funziona tutto:

- (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; 
} 

Questo dà un errore di generazione dicendo sia "Dereferenziare puntatore al tipo incompleto" e "dichiarazione implicita di funzione 'inet_ntoa'" sulla stessa linea.

Ho controllato e non penso di mancare qualche tipo di framework per far funzionare inet_ntoa. Qualche idea su cosa sto facendo male? Grazie.

+1

Acctually inet_ntoa è ammortizzata, usa inet_ntop invece! – krasnyk

risposta

18

Se stai ricevendo dichiarazione implicita di inet_ntoa, probabilmente è necessario

#include <arpa/inet.h> 

(È possibile all'uomo inet_ntoa per ottenere queste informazioni e saperne di più su questa funzione)

+0

Che ha funzionato perfettamente. Grazie mille per la pronta risposta! – mjdth

+0

Con tha include mi hai aiutato! Ero come diamine sta succedendo ... –