7

这个问题已经在这里问过: NSNetservice IP address

在这里: iPhone:Bonjour NSNetService IP 地址和端口

我已经使用了这两个来达到我现在的位置。我的问题是我的以下方法不太奏效:

- (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工作。知道我做错了什么吗?谢谢。

4

2 回答 2

19

如果你得到 inet_ntoa 的隐式声明,你可能需要

 #include <arpa/inet.h>

(您可以 man inet_ntoa 获取此信息并阅读有关该功能的更多信息)

于 2010-02-24T17:08:42.503 回答
3

FWIW 我已经发布了一个更新的代码片段,用于处理 NSNetService 地址解析

iPhone:Bonjour NSNetService IP 地址和端口

于 2011-02-12T07:06:56.157 回答