2010年6月19日星期六

2010/4/15 XMPP服务器的SRV DNS配置

对XMPP客户端而言,首先查询 DNS 中的 SRV 记录如:_xmpp-client._TCP.example.com 。从而获得 xmpp
 server 的 hostname 和 port,然后使用这个进行连接。如果没有找到 SRV 记录,则会直接使用该 domain 和 默认端口进行连接。所以需要在DNS中设置 SRV 记录。

比如在Windows上可以使用 nslookup 命令查询 srv 的配置(linux就用 dig 命令):
nslookup -qt=SRV _xmpp-client._TCP.gmail.com
得到的是 Google Talk 服务的SRV配置,Google Talk 使用的xmpp hostname 是 talk.google.com。 

参考资料:
XMPP RFC 3920 中的关于 SRV 的说明 http://xmpp.org/rfcs/rfc3920.html#rfc.section.14.3
如果用 Smack api 作为xmpp client api,smack 中使用的是 org.jivesoftware.smack.util.DNSUtil 的方法按照上述原则执行查找的。

XMPP服务器的SRV DNS配置 - hgk - 韩国恺的博客

没有评论: