2010-02-24 88 views
7

这个问题已经在这里问: NSNetservice IP address转换[NSNetservice地址]到IP地址的字符串

这里: 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工作。任何想法我做错了什么?谢谢。

+1

实际上,inet_ntoa已折旧,请改用inet_ntop! – krasnyk 2010-05-14 07:56:56

回答

18

如果您收到INET_NTOA的隐式声明,则可能需要

#include <arpa/inet.h> 

(您可男人INET_NTOA得到这个信息,并了解更多关于该功能)

+0

完美运作。非常感谢您的快速响应! – mjdth 2010-02-24 17:14:04

+0

随着包括你帮助我!我就像是在发生什么...... – 2014-03-06 01:03:07