在本地运行时与twisted / wokkel的连接问题

时间:2011-07-07 22:04:25

标签: python xmpp twisted wokkel

我用twisted / wokkel lib创建了一个简单的XMPP机器人。当我在连接到外部XMPP服务器的本地计算机上运行它时,它运行得非常好。但是,当我从xmpp机器本身运行扭曲的脚本时,它立即拒绝连接(或丢弃它)。

我能够在ejabberd上禁用TLS,问题就消失了。当然,这不是一个可行的解决方案,但可以为解决方案提供一些见解。传递给wokkels connectionLost方法的'原因'只是无。

任何建议都将不胜感激!

(这是与jabber在同一台机器上运行时的错误):

2011-07-07 22:01:52+0000 [-] Log opened.
2011-07-07 22:01:52+0000 [-] twistd 11.0.0 (/usr/bin/python2.6 2.6.6) starting up.
2011-07-07 22:01:52+0000 [-] reactor class: twisted.internet.selectreactor.SelectReactor.
2011-07-07 22:01:52+0000 [-] Starting factory <twisted.words.protocols.jabber.xmlstream.XmlStreamFactory object at 0x169df50>
2011-07-07 22:01:52+0000 [XmlStream,client] Connection lost: None
2011-07-07 22:01:52+0000 [XmlStream,client] <twisted.internet.tcp.Connector instance at 0x1120dd0> will retry in 2 seconds
2011-07-07 22:01:52+0000 [XmlStream,client] Stopping factory <twisted.words.protocols.jabber.xmlstream.XmlStreamFactory object at 0x169df50>
2011-07-07 22:01:52+0000 [-] Main loop terminated.
2011-07-07 22:01:52+0000 [-] Server Shut Down.

2 个答案:

答案 0 :(得分:0)

听起来你没有安装Python OpenSSL库,或者在你的python路径中,尝试安装python-openssl(Debian / Ubuntu软件包名称)或你的服务器发行版等价物。 Twisted启动没有它只会禁用TLS和SSL功能。

如果你有Python的OpenSSL库,那可能是一个奇怪的握手问题,正如彼得所说。在ejabbered日志中有什么东西吗?

答案 1 :(得分:0)

如果您使用的是XMPPClient,请尝试将其logTraffic属性设置为True。然后,记录连接时发送和接收的所有流量,可能会提示正在发生的事情。