【问题标题】:Do I need to implement an XMPP server?我需要实现 XMPP 服务器吗?
【发布时间】:2011-03-01 12:44:52
【问题描述】:

(新手提醒)

我需要为一个课程项目编写多方通信服务,我正在考虑使用 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 客户端机器人来完成

【问题讨论】:

  • 更新:两个建议都很好。在对 Smack 和 susmack 进行了大量试验后,我决定编写自己的自定义 Java 服务器是设置尽快运行的原型的最简单方法。我将研究 ActiveMQ。我对 Java 还很陌生,所以征求其他关于入门的建议。我的目标是编写最少的代码,并在最短的时间内使原型质量相当不错。 Pubsub 完成了我需要的部分工作,但我可能需要修改现有服务器才能获得我需要的内容。具体来说,我需要匿名订阅者和匿名发布者。

标签: xmpp messaging switching


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您可以使用像 ActiveMQ 这样的消息队列进行通信,使用 Apache Camel 进行路由/转发/处理。

    【讨论】:

    • 检查这两个。将尽快提供反馈。也欢迎其他答案:)
    猜你喜欢
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 2023-03-11
    • 2020-01-25
    • 1970-01-01
    相关资源
    最近更新 更多