我正在编写IM,并且想要实现一些标准中未包含的功能,我想要一些自定义功能。例如,我想知道是否可以使用Google的XMPP服务(Google Talk)并制作一个实现该功能的自定义IM客户端。可以与服务器通信的默认功能,并且可能有一种方法可以在Google服务器可以使用的XML中添加一些自定义标签,并将消息发送给我的其他客户端,该客户端可以解释该XML并显示并执行正确的操作事物?
还是我必须在服务器上实现此功能?以Openfire为例,它支持插件,您可以使用插件对其进行扩展,但我确实更希望避免自己制造服务器,而改用Google帐户和服务器。我只是一个学生,我没有资源自己维护服务器。
另外,我不太了解使用了什么“Jabber Component Protocol”。根据我的阅读,我了解它可以解决我的问题,但是必须在服务器上。它不在XMPP服务器中,但它还必须作为服务器工作并与XMPP服务器连接。我认为我不能在Google的XMPP服务器中使用“Jabber Component Protocol”吗?
最佳答案
如果我正确理解了您的问题,那么您只想向邮件中添加一些额外的负载,这些负载只能由接收方的客户端来解释。因此,您仅需要XMPP服务器作为从客户端A到客户端B的路由器。它将与Google Talk服务器以及任何其他服务器结合使用。这种可扩展性是XMPP的基本功能之一。
Openfire插件和组件协议(protocol)适用于其他用例。
这是一个如何添加自定义有效负载的示例:
所以像这样:
<message to="[email protected]">
<mytag xmlns="mycompany.com/mynamespace"/>
</message>
或者
<message to="[email protected]">
<mytag xmlns="urn:xmpp:mynamespace:v1"/>
</message>
关于XMPP/Jabber : For custom messages I need to modify the client or the server?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15622109/