专业IM即时通讯软件开发,值得信赖!

Tigase客户端Jaxmpp使用之群聊

Tigase 云聊IM 52℃

1、修改init.properties文件

#开启MUC组建
--comp-name-1= muc
--comp-class-1= tigase.muc.MUCComponent
#不添加该代码,以默认配置创建的房间会被锁住,其他人无法加入
muc/muc-lock-new-room[B]=false
#配置一个使用MUC组建的二级域名
--external= muc.domain.com:muc-pass

2、创建房间

如果没有显示的创建房间,在第一个用户加入房间时,会创建一个了临时的Room,并且该第一个加入的用户作为房间的拥有者。下面的例子即是创建一个临时Room。

RoomName:房间名

mucserver:支持MUC的域(init中配置的muc.domain.com二级域名)

nickName:当前用户在房间中显示的昵称

3、加入房间

加入房间时,昵称不能重复,否这会报冲突的错误。

room即是2中返回的Room实例

StringroomName = room.getRoomJid().getLocalpart();
StringmucServer = room.getRoomJid().getDomain();
jaxmpp().getModulesManager().getModule(MucModule.class)
.join(roomName, mucServer,nickName);

4、发送消息

room是加入房间的实例,发送的代码比较简单。如果按之前的方式直接使用jaxmpp.send或其他的MessageIQ进行消息发送,会报不支持的特性错误。因为MUCPubSub一样,是做为XMPP协议的扩展。默认情况下是没有开启的。

room.sendMessage("body.....");

5、退出房间

jaxmpp().getModulesManager().getModule(MucModule.class).leave(room);

6、其他MUC特性参阅

MUC扩展协议官方文档中,定义了如果踢人,私聊,权限设置等等方法。更高级的功能,可以通过查阅官方文档实现

http://wiki.jabbercn.org/XEP-0045

喜欢 (0)
仿微信聊天软件开发