繁体   English   中英

python不连接到本地XMPP服务器

[英]python does not connect to local XMPP server

我正在尝试通过下面的代码连接我的本地XMPP服务器

import xmpp
client = xmpp.Client('localhost',debug=[])
client.connect(server=('localhost',5222))

但我总是得到这样的信息:

查找_xmpp-client._tcp.localhost时发生错误

我已检查端口5222是否已打开(使用telnet)。 (我必须提到本地主机上的防火墙已关闭)现在应该添加到此代码中以使其工作?

此消息(警告,而不是xinox的答案中指出的错误)表示DNS SRV记录查找失败。 DNS SRV记录用于查找与某个域相关联的服务(例如,在这种情况下为localhost ,因此根本不是一个域,这就是查找失败的原因),但是将其责任委托给居住在其他地方的服务器。

例如,如果我在example.net有一个服务器,制作我的Jabber ID(JID): user@example.net ,但我的XMPP服务器住在chat.example.net我可以在example.net上构建一个SRV记录来指向到chat.example.net 还有其他方式来委派责任,但这是首选方法。 SRMP记录的XMPP使用在RFC6120§3.2.1中定义。

要真正摆脱这个错误,你可以使用use_srv kwarg,制作你的初始例子:

import xmpp
client = xmpp.Client('localhost',debug=[])
client.connect(server=('localhost',5222), use_srv=False)

用这个。

client = xmpp.Client('127.0.0.1',debug=[])
client.connect(server=('127.0.0.1',5222))

或者您的IP 192.XXX

我想出了这一点,只记得这是一个警告而不仅仅是一个错误。 python正确连接到openfire XMPP服务器,它工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM