DNSServiceDiscovery フレームワークを使用する必要があると思います。私は iPhone SDK を持っていませんが、Google で検索すると、iPhone で利用できることがわかります。
API の詳細については、Apple Developer Site を参照してください。
いくつかの(不完全な)サンプルコードも含めました:
#include <dns_sd.h>
int main(int argc, char *argv[])
{
DNSServiceRef sdRef;
DNSServiceErrorType res;
DNSServiceQueryRecord(
&sdRef, 0, 0,
"_xmpp-server._tcp.gmail.com",
kDNSServiceType_SRV,
kDNSServiceClass_IN,
callback,
NULL
);
DNSServiceProcessResult(sdRef);
DNSServiceRefDeallocate(sdRef);
}
独自のコールバック関数を提供する必要があります。またrdata
、コールバックに送信されるフィールドはワイヤ形式であるため、SRV レコード フィールドから生データを自分でデコードする必要があることに注意してください。