私は、端末と掘り下げを使ってIPアドレスの背後にある名前を取得する方法を知っています。私は:LANのIPアドレスの束の後ろに名前を取得するNSHostを使用する方法?
dig @224.0.0.251 -p5353 -x 192.168.0.195 +short
しかし、私は自分のアプリケーションでNSTaskを使いたくありません。 NSHostを使用してLAN内のIPアドレスの背後にある名前を取得するにはどうすればよいですか?私はこれを試してみましたが、それは常にnilを返し:
NSHost *myHost = [NSHost hostWithAddress:@"192.168.0.195"];
NSLog(@"name: %@", [myHost name]);
おかげでたくさん!
編集: これらのメソッド/関数... + [NSHost hostWithAddress:] - :
dig -x 192.168.0.195
のgethostbyaddr(3)BSD関数 は...と同じように見えます端末でそのdigコマンドを使用すると、サーバに到達できないと言います。 (はい、私のLANにDNSサーバがありません)ので、私は戻って驚くべきではないnil。
NSTaskを使用せずにdig @224.0.0.251 -p5353 -x 192.168.0.195 +short
(bonjourマルチキャスト検索)をアプリで実装できるといいですね。 :)それはNSHost
を使用していますが、Bonjourの-APIを使用すると、あなたが望むように動作しているようだしない
ねえ、これは素晴らしいです。どうもありがとう!私は今、NSTaskのクラップスを通り抜けることができます:D – Daniel