在使用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业务的经验,所以我想这是一个常见的新手问题或类似的东西......
可能是什么问题?我该如何解决这个问题,以便连接成功?
答案 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)
我有同样的问题,我按照这些步骤来解决它:
首先禁用防火墙
使用您的服务器openfire的IP地址
答案 3 :(得分:0)
如果您使用的是设备,请将主机用作localhost。 如果您使用的是仿真器,请在配置步骤(给定代码的第1行)中使用IP地址(192.168.1.2或其他)