首先,openfire.xml中新增了是否激活sm协议的配置。
<stream>
<management>
<!-- Whether stream management is offered to clients by server. -->
<active>true</active>
<!-- Number of stanzas sent to client before a stream management
acknowledgement request is made. -->
<requestFrequency>5</requestFrequency>
</management>
</stream>
其次,检测信息域名是否支持sm,目前支持仅限于urn:xmpp:sm:3,urn:xmpp:sm:3。如果激活,并且包括域名2/3,则由StreamManager对象处理。
最后,新增StreamManager对象。此对象专门负责处理符合sm的消息处理。
从源码来看,openfire在websocket中也支持XEP-0198,清查看XmppWebSocket.java。