我们使用openfire 3.7.1作为我们的XMPP服务器,我们希望扩展Presence节以包含一些额外的信息,例如:
<presence from="you@MyServer.com">
<body>...</body>
<custom_element>
<custom_data/>
</custom_element>
</presence>
Run Code Online (Sandbox Code Playgroud)
能不能给我一些指示,指出这样做会有什么好办法?例如,我应该修改或扩展一些XMPP架构,以便openfire像往常一样处理上述在线数据包(目前如果我发送上面的消息,openfire似乎没有把它作为Presence数据包)?我应该创建一个插件拦截所有数据包,以处理我们的自定义元素?
提前致谢!
这是通常的方式:
<presence from="you@MyServer.com">
<x xmlms="http://mycompany.com/mycustomnamespace1>
<custom_data/>
</x>
</presence>
Run Code Online (Sandbox Code Playgroud)
Openfire将毫无问题地路由这样的数据包.当服务器必须处理对此自定义元素的任何操作时,您只需要一个服务器插件.当服务器仅将状态路由到您的联系人时,服务器上不需要任何操作.