【问题标题】:The following addresses failed: '127.0.0.1:5222' openfire/ejabberd smack以下地址失败:'127.0.0.1:5222' openfire/ejabberd smack
【发布时间】:2016-09-16 23:47:34
【问题描述】:

我正在尝试使用 smack 在 localhost 上连接到 openfire/ejabberd(我已经对它们进行了配置并测试了与 strophe.js 的连接)。这是我尝试过的:

Log.d(TAG, "Connecting to server " + mServiceName);
            XMPPTCPConnectionConfiguration.Builder config = XMPPTCPConnectionConfiguration.builder();
            config.setUsernameAndPassword("test_user1@home", "password");
            config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
            config.setServiceName("home");
            config.setHost("127.0.0.1");
            config.setPort(5222);
            config.setCompressionEnabled(true);
            config.setDebuggerEnabled(true);
            final XMPPTCPConnection xmpptcpConnection = new XMPPTCPConnection(config.build());
            SASLAuthentication.blacklistSASLMechanism("DIGEST-MD5");

            mConnection = new XMPPTCPConnection(config.build());
            mConnection.setPacketReplyTimeout(10000);
            mConnection.addConnectionListener(this);
            mConnection.connect();
            mConnection.login();

但我回来了:

 org.jivesoftware.smack.SmackException$ConnectionException: The following addresses failed: '127.0.0.1:5222' failed because java.net.ConnectException: failed to connect to /127.0.0.1 (port 5222) after 30000ms: isConnected failed: ECONNREFUSED (Connection refused)

我正在使用手机进行连接。我认为这种情况正在发生,因为它没有在互联网上注册。我已经购买了一个域并创建了一个子域,但我不知道如何使用它注册我的 openfire/ejabberd 服务器。

如果构建器配置有任何应有的地方,谁能给我一些关于如何注册它的说明?

编辑:要在公共帐户上注册 openfire,我必须启用 ssh 并进行一些配置(我宁愿不这样做)。没有办法在我的本地帐户上测试我的安卓应用吗?

【问题讨论】:

  • 如果您有本地网络,请将您的手机和计算机连接到它。并将 IPv4 作为主机。
  • 我想我试过了。通过无线电话、计算机电缆和来自 ipconfig 的 IP。不幸的是,我遇到了同样的错误。
  • 你可以查看我的post here

标签: android ejabberd openfire smack


【解决方案1】:

您使用的是本地计算机的本地 IP 地址 IP 127.0.0.1。它无法工作。我们必须使用我们计算机的 IP 地址。

【讨论】:

    【解决方案2】:

    如果您还没有找到问题的答案。尝试使用此主机 10.0.2.2 而不是您的主机(127.0.0.1)。这解决了“连接被拒绝”。

    【讨论】:

      【解决方案3】:

      您正在使用 IP 127.0.0.1。这意味着本地计算机的本地 IP 地址。从手机上运行它意味着您不是在尝试连接到计算机上的 XMPP 服务器,而是在手机上的 XMPP 服务器上。

      它无法工作。您需要使用您计算机的 IP 地址。

      【讨论】:

      • 我的 openfire 本地安装在我的 PC 上。它给了我 SmackException:异常:java.net.SocketTimeoutException:无法连接到“我的本地 IP 地址”。你能就这个问题给一些建议吗?谢谢
      猜你喜欢
      • 2015-09-24
      • 2016-11-09
      • 2012-11-21
      • 2019-07-29
      • 1970-01-01
      • 2010-12-05
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      相关资源
      最近更新 更多