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