本地主机服务发现 用于韵律或 ejabberd 中的自定义 XEP-0114 组件



我写了一个愚蠢的hello-world XEP-0114组件,并将其连接到Prosody和ejabberd。现在,我想使用服务发现来宣布服务的存在,并提供有关其用法的说明。

因此,我寻求一种方法,使任何拥有JID(远程或本地(的人都可以发现它,以提供有关它的更多详细信息。

对于韵律,我做:

Component "foo.localhost"
component_secret = "secret"
disco_items = {
{ "foo.localhost", "FOO BAR" };
}

对于ejabberd,我做:

modules:
mod_disco:
extra_domains:
- "foo.localhost"
- "localhost"
server_info:
-
modules: all
name: "abuse-addresses"
urls:
- "foo.com"
listen:
- 
port: 8888
module: ejabberd_service
access: all
shaper_rule: fast
ip: "127.0.0.1"
hosts:
"foo.localhost":
password: "secret"

然后在 Gajim 中,我在本地主机上启动服务发现并收到错误:

您输入的地址没有服务,或者没有响应。请检查地址,然后重试。

我错过了什么?

遇到麻烦时要检查的第一件事是xmpp客户端(Gajim(的XML控制台,在那里我发现了这个:

<iq xmlns="jabber:client" to="localhost" type="get" id="546">
<query xmlns="http://jabber.org/protocol/disco#info" />
</iq>
<iq xml:lang='en' to='mynickhere@jabb.im/Gajim' from='localhost' type='error' id='546'>
<query xmlns='http://jabber.org/protocol/disco#info'/>
<error code='504' type='wait'>
<remote-server-timeout xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
<text xml:lang='en' xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Stream closed by peer: host-unknown</text>
</error>
</iq>

它显示发现请求被发送到当前使用的帐户所在的服务器(jabb.im(。我不知道事情是如何工作的,但这应该提示您断开与远程服务器的连接,在本地服务器上创建帐户并使用它登录,然后发现将按预期工作。

相关内容

  • 没有找到相关文章

最新更新