此问题已在此处提出: NSNetservice IP address
在这里: 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;
}
这给出了一个构建错误,说明在同一行上“解除指向不完整类型的指针”和“隐式声明函数'inet_ntoa'”。
我已经检查过,我不认为我错过了某种类型的框架来让inet_ntoa
工作。知道我做错了什么吗?感谢。
答案 0 :(得分:19)
如果你得到inet_ntoa的隐式声明,你可能需要
#include <arpa/inet.h>
(您可以通过man inet_ntoa获取此信息并阅读有关该功能的更多信息)
答案 1 :(得分:3)
FWIW我发布了一个更新的代码片段,用于处理
上的NSNetService地址解析