XMPP/Jabber:对于自定义消息,我需要修改客户端还是服务器?

Lil*_*aru 5 xmpp openfire google-talk

我正在写一个IM,我想实现一些不在标准中的功能,我想要一些自定义功能.
我想知道我是否可以使用Google的XMPP服务(Google Talk)并制作一个自定义IM客户端来实现默认功能,以便能够与服务器通信,并且可能有一种方法可以在XML中添加一些自定义标签Google的服务器将使用并将消息发送给我的其他客户端,该客户端可以解释此XML并显示并执行正确的操作吗?

或者我是否必须在服务器上实现此功能?例如,Openfire支持插件,您可以使用插件扩展它,但我真的更愿意避免使用我自己的服务器并使用Google帐户和服务器.我只是一名学生,我没有资源维护我自己的服务器.

另外,我真的不明白使用什么" Jabber组件协议 ".根据我的阅读,我明白它可以解决我的问题但它必须在服务器上.它不在XMPP服务器中,但它也必须作为服务器工作并与XMPP服务器连接.
我不认为我可以在谷歌的XMPP服务器上使用" Jabber组件协议 ",或者我可以吗?

Ale*_*lex 5

如果我正确理解您的问题,那么您只想在消息中添加一些必须由接收客户端解释的额外有效负载.因此,您只需要将XMPP服务器作为从客户端A到客户端B的路由器.这将与Google Talk服务器和任何其他服务器结合使用.这种可扩展性是XMPP的基本功能之一.

Openfire插件和组件协议适用于其他用例.

以下是如何添加自定义有效内容的示例:

所以类似于:

<message to="user@server.com">
   <mytag xmlns="mycompany.com/mynamespace"/>
</message> 
Run Code Online (Sandbox Code Playgroud)

要么

<message to="user@server.com">
   <mytag xmlns="urn:xmpp:mynamespace:v1"/>
</message>
Run Code Online (Sandbox Code Playgroud)