2010-02-24 9 views
7

Diese Frage ip schon hier gefragt wurde: NSNetservice IP addressKonvertieren [NSNetservice Adressen] Adress-String

und hier: iPhone: Bonjour NSNetService IP address and port

ich verwendet habe, beide von denen zu bekommen, wo ich jetzt bin. Mein Problem ist folgendes Verfahren Ich habe funktioniert nicht ganz:

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

Dies gibt einen Build Fehlermeldung, dass beide „Dereferenzierung Zeiger auf einen unvollständigen Typ“ und „Implizite Deklaration der Funktion‚inet_ntoa‘“ auf der gleichen Linie.

Ich habe überprüft und ich glaube nicht, ich vermisse eine Art von Framework, um inet_ntoa zu arbeiten. Irgendeine Idee, was ich falsch mache? Vielen Dank.

+1

Konkret wird inet_ntoa abgeschrieben, stattdessen inet_ntop! – krasnyk

Antwort

18

Wenn Sie implizite Deklaration von inet_ntoa bekommen, müssen Sie wahrscheinlich

#include <arpa/inet.h> 

(Sie können inet_ntoa Menschen diese Informationen zu erhalten und mehr über diese Funktion lesen)

+0

Das hat perfekt funktioniert. Vielen Dank für die schnelle Antwort! – mjdth

+0

Mit tha hast du mir geholfen! Ich war wie, was zum Teufel ist los ... –