This question was already asked here: NSNetservice IP address
and here: iPhone: Bonjour NSNetService IP address and port
I've used both of those to get where I'm at now. My problem is the following method I have doesn't quite work:
- (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;
}
This gives a build error saying both "Dereferencing pointer to incomplete type" and "Implicit declaration of function 'inet_ntoa'" on the same line.
I've checked and I don't think I'm missing some type of framework to get inet_ntoa
to work. Any idea what I'm doing wrong? thanks.
If you're getting implicit declaration of inet_ntoa, you probably need
#include <arpa/inet.h>
(You can man inet_ntoa to get this info and read more about that function)
FWIW I've posted an updated code snippet for handling NSNetService address resolution over at
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.