To pytanie zostało już zadawane tutaj: NSNetservice IP addressKonwersja adresów NSNetservice [], aby adres IP ciąg
i tutaj: iPhone: Bonjour NSNetService IP address and port
Używałem zarówno tych, aby uzyskać gdzie jestem teraz. Mój problem jest następujący sposób mam nie do końca pracy:
- (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;
}
To daje błąd kompilacji mówiąc zarówno „dereferencji wskaźnik do niepełnej typu” i „niejawny deklarację funkcji«inet_ntoa»” na tej samej linii.
Sprawdziłem i nie sądzę, że brakuje mi jakiegoś schematu, aby zadziałało inet_ntoa
. Masz pojęcie, co robię źle? dzięki.
Aktywnie inet_ntoa jest zamortyzowana, zamiast tego użyj inet_ntop! – krasnyk