Spark+Openfire二次开发Message类型汇总

本文深入探讨了在使用Spark+Openfire进行二次开发时,Message包的处理方式,包括Chat、Error、GroupChat、Headline和Normal五种不同类型,并详细解析了每种类型的用途和示例XML。
在使用Spark+Openfire二次开发的时候,不免要涉及到Message包的处理。在openfire封装的packet中,对于Message的类型有如下这么几类:
1. Chat
2. Error
3. GroupChat
4. Headline
5. Normal
这里分别对每一种类型进行深入研究:
1. Chat
用途:标记发送单人聊天类型的消息。
举例XML:
<message from="cds003@lvhb" to="lvhb@lvhb" type="chat">
<body>测试消息!</body>
</message>

Spark端显示:


2. Error
用途:标记错误类型的消息。
举例XML:
<message from="我的聊天室@conference.lvhb" to="我的聊天室@conference.lvhb" type="error">
<body>测试消息!</body>
<error code="406" type="modify"><not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error>
</message>
说明:此种类型的消息在Spark端没有任何反应。而且error消息为系统自动发送的,往往是由于错误发送消息,引起系统发送一个error类型的消息来提示spark之前发送的某一个消息是错的。
3. GroupChat
用途:标记发送群体聊天类型的消息。
举例XML:
<message id="H00c7-60" to="我的聊天室@conference.lvhb" type="groupchat" from="lvhb@lvhb/Spark 2.6.3">
<body>123123</body>
<x xmlns="jabber:x:event">
<offline/><delivered/><displayed/><composing/>
</x>
</message>
Spark端显示:


4. Headline
用途:标记通知类型的消息。
举例XML:
<message from="cds001@lvhb" to="lvhb@lvhb" type="headline">
<body>测试消息!</body>
</message>
Spark端显示:


5. Normal
用途:标记广播类型的消息。
举例XML:
<message from="cds001@lvhb" to="lvhb@lvhb" type="normal">
<body>测试消息!</body>
</message>
Spark端显示:


 
小结:chat类型是最常见的类型。Groupchat用来标记群组消息。Error用来标记错误的消息,如我刚才编的那个群组消息可能有误,这时候服务器就反馈了一个error类型的消息。至于Headline和Normal这2个翻译过来一个叫通知、一个叫广播,也许可以随意使用。或者分场合使用,比如通知员工开会,那么用headline感觉就比normal要好,但是normal也不是不可以。就是这样。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值