【发布时间】:2016-06-01 23:39:24
【问题描述】:
我在 Mac 上本地安装了一个 ejabberd XMPP 服务器。我正在使用此代码在 android 上使用 Smack API 进行连接和登录。
config = XMPPTCPConnectionConfiguration.builder()
.setUsernameAndPassword("1@davids-macbook-pro.local", "1")
.setHost("192.168.1.2")
.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)
.setServiceName("192.168.1.2")
.setPort(Integer.parseInt("5222"))
.build();
AbstractXMPPConnection conn2 = new XMPPTCPConnection(config);
try {
conn2.connect();
conn2.login();
} catch (SmackException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (XMPPException e) {
e.printStackTrace();
}
使用相同的用户名和密码,我可以使用任何其他 XMPP 客户端(如 Adium)登录,但上面的代码在 android 上会出现此错误 -
连接因错误而关闭 org.jivesoftware.smack.XMPPException$StreamErrorException: 主机未知
我的本地地址是 192.168.1.2,ejabberd 管理面板是 localhost:5280/admin。
我阅读了文档并完成了所有编写的操作。代码有什么问题吗?
【问题讨论】:
标签: android localhost xmpp ejabberd smack