1

我正在开发一个使用 tigase 作为服务器的 IM 应用程序,并在 android 端使用 asmack 库。现在我可以注册/登录/聊天 p2p,但是当我创建聊天室时,我遇到了一个问题,android 端代码如下:

XMPPConnection connection = XmppConnectionManager.getInstance().getConnection();
try {
    MultiUserChat muc = new MultiUserChat(connection, "testroom" + "@" +  
        connection.getServiceName());
muc.create("nickname");
    ------
} catch (Exception e) {
e.printStackTrace();
}

执行 muc.create("nickname") 后,总是抛出异常,异常信息为:No response from server。在 tigase 服务器端,我在 etc/init.properties 中启用了 MUC 组件,如下所示:

--comp-name-1 = muc
--comp-class-1 = tigase.muc.MUCComponent

我已经修改了项目,因为问题 是在 android 中创建群聊功能并在 muc.create() 上从服务器获得没有响应.. 但仍然无法正常工作,我不知道为什么,需要您的帮助。

4

1 回答 1

1

我已经解决了这个问题。是我在客户端的错,我必须指定服务器端配置的MUC服务名称,它与tigase服务名称不同,配置如下:

--virt-hosts = localhost  #tigase server name
--external= muc.localhost:muc-pass  #muc.localhost is muc service name

所以客户端代码如下:

   MultiUserChat muc = new MultiUserChat(connection, roomName  
                + "@muc." + connection.getServiceName());  

感谢@Haider。

于 2014-03-09T14:04:41.220 回答