pyxmpp2连接到openfire无法解析NXDOMAIN

时间:2013-03-22 02:41:50

标签: python xmpp pyxmpp2

我在我的Ubuntu机器上安装了pyxmpp2 https://github.com/Jajcus/pyxmpp2。我还安装了Openfire 3.8.1。我想使用pyxmpp2连接到同一台机器上的Openfire服务器。

在服务器 - >服务器管理器 - >我的Openfire控制面板中的服务器信息,面板中服务器属性中显示的服务器名称是mymachine,环境部分显示的主机名是MyMachine。

我尝试了以下代码:

import logging
from pyxmpp2.jid import JID
from pyxmpp2.client import Client
logging.basicConfig()
client = Client(JID("admin@mymachine"),[])
client.connect()

并收到以下消息:

警告:pyxmpp2.resolver:无法解析'_xmpp-client._tcp.mymachine':NXDOMAIN

我是否错过了配置?

1 个答案:

答案 0 :(得分:1)

看起来您的域没有DNS SRV记录,因此pyxmpp2无法解析它们。请查看http://wiki.xmpp.org/web/SRV_Records如何创建它们。

基本上,DNS SRV记录的格式为

  

_service._proto.name TTL类SRV优先权重端口目标

可能看起来像这个例子

_xmpp-client._tcp.example.net. 86400 IN SRV 5 0 5222 example.net.

也许pyxmpp2还提供了一种直接指定用于XMPP服务的主机的方法。这样可以避免DNS SRV查找。