在本地运行时出现扭曲 / wokkel 的连接问题
Posted
技术标签:
【中文标题】在本地运行时出现扭曲 / wokkel 的连接问题【英文标题】:Connection issue with twisted / wokkel when running locally 【发布时间】:2011-07-07 22:04:25 【问题描述】:我已经用twisted/wokkel 库创建了一个简单的XMPP 机器人。当我在连接到外部 XMPP 服务器的本地计算机上运行它时,它运行得非常好。但是,当我从 xmpp 机器本身运行扭曲的脚本时,它会立即拒绝连接(或断开连接)。
我能够在 ejabberd 上禁用 TLS,问题就消失了。当然,这不是一个可行的解决方案,但可以为解决方案提供一些见解。传递给 wokkels connectionLost 方法的“原因”只是 None。
任何建议将不胜感激!
(这是与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.
【问题讨论】:
抓包了吗?你可以试试ssldump,听起来 TLS 握手出了点问题。 【参考方案1】:听起来您没有安装 Python OpenSSL 库或在您的 Python 路径中,请尝试安装 python-openssl(Debian/Ubuntu 软件包名称)或您的服务器发行版等效项。 Twisted 在没有它的情况下启动它只会禁用 TLS 和 SSL 功能。
如果您确实有 Python 的 OpenSSL 库,那么正如 Peter 所说,这可能是一个奇怪的握手问题。 ejabbered 日志中有什么内容吗?
【讨论】:
【参考方案2】:如果您使用的是XMPPClient
,请尝试将其logTraffic
属性设置为True
。然后,记录连接时发送和接收的所有流量,可能会提示正在发生的事情。
【讨论】:
以上是关于在本地运行时出现扭曲 / wokkel 的连接问题的主要内容,如果未能解决你的问题,请参考以下文章
在连接本地WMI提供程序时出现错误 70。没有权限(Microsoft VBScript运行时错误
使用 msn 协议运行 twisted.words 示例时出现问题