2

twisted/wokkel lib を使ってシンプルな 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.
4

2 に答える 2

0

を使用している場合は、その属性をにXMPPClient設定してみてください。次に、接続中に送受信されたすべてのトラフィックがログに記録され、何が起こっているかのヒントが提供される可能性があります。logTrafficTrue

于 2011-10-30T12:36:16.917 に答える
0

Python OpenSSL ライブラリがインストールされていないか、Python パスにないようです。python-openssl (Debian/Ubuntu パッケージ名) または同等のサーバー ディストリビューションをインストールしてみてください。Twisted はそれなしで起動し、TLS と SSL 機能を無効にするだけです。

Python の OpenSSL ライブラリがある場合、Peter が言うように奇妙なハンドシェイクの問題になる可能性があります。ejabbered ログに何かありますか?

于 2011-10-01T22:56:32.987 に答える