1

以下のコードでローカル XMPP サーバーに接続しようとしています

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

しかし、私はいつもこのメッセージを受け取ります:

_xmpp-client._tcp.localhost の検索中にエラーが発生しました

ポート 5222 が既に開いていることを確認しました (telnet を使用)。(ローカルホストのファイアウォールがオフになっていることを言及する必要があります)今、このコードに何を追加して機能させる必要がありますか?

4

2 に答える 2

4

このメッセージ (xinox の回答で指摘されているエラーではなく、警告) は、DNS SRV レコードのルックアップが失敗したことを示しています。DNS SRV レコードは、特定のドメインに関連付けられているサービスを検索するために使用されます (たとえばlocalhost、この場合、実際にはドメインではないため、ルックアップが失敗します) が、別の場所にあるサーバーにその責任を委任します。

たとえば、 にサーバーがexample.netあり、Jabber ID (JID): を作成している場合user@example.net、XMPP サーバーは にあり、を指すchat.example.netSRV レコードを作成できます。責任を委任する方法は他にもありますが、これが推奨される方法です。XMPP での SRV レコードの使用は、RFC 6120 §3.2.1 で定義されています。example.netchat.example.net

実際にこのエラーを取り除くには、use_srvkwarg を使用して最初の例を作成します。

import xmpp
client = xmpp.Client('localhost',debug=[])
client.connect(server=('localhost',5222), use_srv=False)
于 2016-07-22T14:13:49.657 に答える
0

これを使って。

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

またはあなたのIP 192.XXX

于 2013-05-16T06:12:50.477 に答える