Smack 连接到服务器失败
Posted
技术标签:
【中文标题】Smack 连接到服务器失败【英文标题】:Smack Connection to Server Failure 【发布时间】:2011-12-17 21:04:01 【问题描述】:我在我的 Macbook 上成功设置了一个 ejabberd 服务器,并使用 iChat 和 Adium 对其进行了测试。我正在尝试设置 Jabberd/XMPP 客户端以在 android 操作系统上工作。以下代码在connection.connect()
方法上引发异常:
public void login(String username, String password) throws XMPPException
ConnectionConfiguration config = new ConnectionConfiguration("my-ejabberd-server-macbook.local", 5222);
connection = new XMPPConnection(config);
XMPPConnection.DEBUG_ENABLED = true;
SASLAuthentication.supportSASLMechanism("PLAIN", 0);
connection.connect();
connection.login(username, password);
在connection.connect()
方法调用上创建了以下异常:
XMPPError connecting to my-ejabberd-server-macbook.local:5222.: remote-server-error(502) XMPPError connecting to my-ejabberd-server-macbook.local:5222.
-- caused by: java.net.SocketException: Host is unresolved: my-ejabberd-server-macbook.local
我在 Android Manifest 中只有以下权限:
<uses-permission android:name="android.permission.INTERNET" />
【问题讨论】:
你解决了这个问题吗?我也面临同样的情况。 【参考方案1】:.local
下的名称由multicast DNS 解析,并非所有软件都可以处理。在本地测试时,您可以为其添加一个条目到your /etc/hosts
file。
【讨论】:
以上是关于Smack 连接到服务器失败的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 smack 连接到 XMPP 服务器:服务器没有响应
无法连接到本地 Openfire 服务器(使用 smack api)