在本地运行时出现扭曲 / 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 示例时出现问题

从本地网络访问 wamp 时出现禁止错误

使用plsql连接本地数据库时出现ora-12541:tns:无监听程序 怎么解决

运行多服务器 SQL Server 查询时出现超时错误

本地获取 API 时出现自签名证书错误