Tigase客户端jaxmpp使用之群聊(四)

发布时间: 5年前 (2020-04-09)浏览: 784评论: 0

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:当前用户在房间中显示的昵称

jaxmpp().getModulesManager().getModule(MucModule.class)

.join(roomName, mucServer,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


标签:

上一篇: XMPP 协议工作流程具体解释
下一篇: tigase的笔记一 — 基本的配置

相关文章暂无相关
评论列表暂无评论
发表评论
验证码

«   2024年4月   »
1234567
891011121314
15161718192021
22232425262728
2930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接
    • RainbowSoft Studio Z-Blog
    • 订阅本站的 RSS 2.0 新闻聚合
    ︿
    Top