我需要实现XMPP服务器吗?

时间:2010-06-09 07:13:44

标签: xmpp messaging switching

(新手警报)

我需要为课程项目编写多方通信服务,我正在考虑XMPP。

服务需要遵循消息传递语义:

1)服务器将提供注册和取消注册地址的方法,例如somenode@myservice.com/SomeResource。 (现在我会手动完成)。

2)服务器将提供一种方法,将来自somenode@myservice.com/SomeResource的传入消息转发到someothernode@myservice.com/someOtherResource,假设后者已注册,以及删除此转发的方法。 (现在我会手动完成)。

3)匿名客户端可以向somenode@myservice.com/someresource发送消息(仅限单向流量)。如果有任何转发设置,将转发该消息。最后,如果地址为somenode@myservice.com/someresource已注册,则将存储该消息以供稍后交付(如果检索客户端在线,则立即生效 - 请参阅下文)。如果没有转发和未注册,则将以静默方式丢弃该消息。

4)客户端可以从注册的地址连接和检索消息。验证客户端的确切方法(例如密码?)尚未确定。

  • 最后,我想添加对客户端的支持,以便从Web浏览器进行连接,以便他们可以注册/取消注册并设置/删除转发。

因此,服务器必须进行一些非标准的切换。我需要为此实现XMPP服务器吗?我猜一些(或全部?)也可以使用XMPP客户机器人

完成

2 个答案:

答案 0 :(得分:2)

您可能会调查Pub/Sub是否比自定义消息传递语义更适合您的问题。如果是这样,您可以在现有的XMPP服务器中找到它的实现。

答案 1 :(得分:1)

您可能可以使用ActiveMQ之类的消息队列进行通信,并使用Apache Camel进行路由/转发/处理。