【发布时间】:2011-10-11 20:46:51
【问题描述】:
我在使用 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() 行中有某种错误。
XMPPError connected to localhost:5222.: remote-server-error(502) XMPPError connected to localhost:5222. -- 引起:java.net.SocketException: Permission denied。
我尝试将主机名切换为“localhost”,但它也不起作用。
我在 XMPP 业务方面没有经验,所以我猜这是一个常见的新手问题或类似的问题......
可能是什么问题?如何解决此问题,以便连接成功?
【问题讨论】:
-
编辑您的问题以包含确切的错误。
-
当它到达“connect()”行时,它会回到“catch exception”行,它没有提到任何具体的错误,我如何检查确切的错误是什么?
-
如果它捕捉到异常,请添加打印语句以将异常打印到控制台,然后将异常添加到上面的问题中。如果不知道您的错误是什么,真的无法提供帮助,上面的代码对我来说看起来不错
-
另外请检查 openfire 是否真的在您的计算机上运行,因为它不会自行启动,这可能是您无法连接的原因:例如,确保您可以访问控制台。
-
啊哈! XMPPError 连接到 localhost:5222.: remote-server-error(502) XMPPError 连接到 localhost:5222。 -- 由:java.net.SocketException: Permission denied 引起。我已经进入管理控制台,所以我知道服务器正在运行...