Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xmpp Prosody或ejabberd中自定义XEP-0114组件的本地主机服务发现_Xmpp_Ejabberd_Prosody Im - Fatal编程技术网

Xmpp Prosody或ejabberd中自定义XEP-0114组件的本地主机服务发现

Xmpp Prosody或ejabberd中自定义XEP-0114组件的本地主机服务发现,xmpp,ejabberd,prosody-im,Xmpp,Ejabberd,Prosody Im,我已经编写了一个愚蠢的hello world XEP-0114组件,并将其连接到Prosody和ejabberd。现在,我想使用服务发现来宣布服务的存在,并提供有关其使用的说明 因此,我寻求一种方法,让任何有JID的人都能发现它,无论是远程的还是本地的,来提供更多关于它的细节 对于韵律,我有: Component "foo.localhost" component_secret = "secret" disco_items = { { "foo.localhost", "FOO BAR

我已经编写了一个愚蠢的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控制台,在那里我发现了以下内容:


对等方关闭的流:主机未知

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

否决票不能帮助我更好地回答问题,请留下关于我应该改进的评论。