无法在 android 中创建聊天室并从服务器(tigase 服务器)没有响应
Posted
技术标签:
【中文标题】无法在 android 中创建聊天室并从服务器(tigase 服务器)没有响应【英文标题】:Failed create chat room in android and getting No response from server (tigase server) 【发布时间】:2014-03-01 14:02:24 【问题描述】:我正在开发一个使用 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") 后,总是抛出异常,异常信息为:服务器无响应。在 tigase 服务器端,我在 etc/init.properties 中启用了 MUC 组件,如下所示:
--comp-name-1 = muc
--comp-class-1 = tigase.muc.MUCComponent
我已将项目修改为问题 create a group chat functionality in android and getting No response from server.. on muc.create() 但是还是不行,不知道为什么,需要你的帮助。
【问题讨论】:
我认为您的 MUC 组件无法正常工作。首先请使用 Pidgin 或 PSI 客户端验证您的 MUC 组件是否正常工作。 感谢您的评论。 MUC 组件工作正常。我可以通过 PSI 在“服务发现”中找到“多用户聊天”。 如果在服务发现中找不到 MUC,则 MUC 不起作用 我可以在服务发现中找到MUC。 @Haider,我在Android端使用了asmack库,如果asmack和tigase服务器之间的通信存在问题,我不知道。你有开发android IM app的经验吗,服务器端是tigase。 【参考方案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。
【讨论】:
oooopppsss 对不起,我忘了告诉你如何在 TIGASE 中处理组件。很高兴看到你想通了以上是关于无法在 android 中创建聊天室并从服务器(tigase 服务器)没有响应的主要内容,如果未能解决你的问题,请参考以下文章
在 Android 中创建聊天室会出现错误:“item-not-found(404)
如何使用 PHP 在 openfire 中创建聊天室并将用户添加到房间中
如何在我的颤振应用程序中创建 android 固定的聊天快捷方式?
我们如何在 UI 线程中创建处理程序以将数据发送到另一个线程