我在我的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
我是否错过了配置?
答案 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查找。