对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。
参考资料:
tim yang 的 blog
XMPP/Jabber服务器的SRV DNS配置