我正在尝试使用 JNDI 从 DNS 服务器获取 SRV 记录。
Hashtable<String, String> env = new Hashtable<String, String>();
env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
env.put("java.naming.provider.url", "dns://dns.server.com");
DirContext ctx = new InitialDirContext(env);
Attributes attributes = ctx.getAttributes("_sip._udp", new String [] { "SRV" });
return attributes;
但是当试图获取属性时,我得到以下异常
DNS 错误 [Root 异常是 java.net.PortUnreachableException: ICMP Port Unreachable];剩余名称'_sip._udp'
我已验证 host -t srv _sip._udp.server.com 返回有效的 SRV 记录。
为什么会发生这种情况?