为什么我无法连接到openfire服务器?

时间:2011-07-24 00:39:29

标签: java openfire smack

在使用Smack时尝试连接到Openfire(我已安装在我的计算机上)时遇到了一些麻烦。

    ConnectionConfiguration config = new ConnectionConfiguration("shin-pc" ,5222);
    config.setCompressionEnabled(true);
    config.setSASLAuthenticationEnabled(true); 
    XMPPConnection connection = new XMPPConnection(config);             
    connection.connect();
    connection.login("test", "test");

当我尝试调试或运行时,connect()行中出现了某种错误。

连接到localhost的XMPPError:5222:remote-server-error(502)连接到localhost的XMPPError:5222。 - 由以下原因引起:java.net.SocketException:权限被拒绝。

我已尝试将主机名切换为“localhost”,但它也无效。

我没有这个XMPP业务的经验,所以我想这是一个常见的新手问题或类似的东西......

可能是什么问题?我该如何解决这个问题,以便连接成功?

4 个答案:

答案 0 :(得分:5)

我刚刚创建了一个我需要XMPP的新项目,并遇到了同样的问题。但是,我意识到这只是因为我忘了在我的清单中添加互联网权限:

<uses-permission android:name="android.permission.INTERNET"/>

确保你没有犯同样的错误。

答案 1 :(得分:3)

我有同样的问题....但我在最后使用以下步骤解决了这个问题:::

1)首先检查互联网许可

    <uses-permission android:name="android.permission.INTERNET"/>

2)然后从C:\ Openfire \ conf(安装目录)打开openfire.xml文件并编辑文件

    <network>
        <interface>Your IP Address(192.168.0.1)</interface>
    </network> 

并保存文件并启动openfire服务器。         我认为这对你有帮助....

答案 2 :(得分:1)

我有同样的问题,我按照这些步骤来解决它:

  1. 首先禁用防火墙

  2. 使用您的服务器openfire的IP地址

答案 3 :(得分:0)

如果您使用的是设备,请将主机用作localhost。 如果您使用的是仿真器,请在配置步骤(给定代码的第1行)中使用IP地址(192.168.1.2或其他)