XMPP是这个解决方案的好选择吗?

XMPP是这个解决方案的好选择吗?,xmpp,Xmpp,我想为我的项目建立沟通解决方案。考虑不要从头开始开发所有东西,而是使用XMPP服务器 我的项目由许多分散在不同位置的“迷你服务器”(基于raspberry pi)组成。每个迷你服务器都应该可以在其自己的网络上访问移动应用程序,该网络可以与internet隔离。每个“迷你服务器”都必须是自主的,并且能够在没有互联网的情况下生存,拥有自己的移动客户端,并响应它们的请求。所以迷你服务器可以位于私有离线网络上,也可以位于防火墙后面的已知静态或未知动态IP地址上 一些迷你服务器用户希望他们的迷你服务器可以

我想为我的项目建立沟通解决方案。考虑不要从头开始开发所有东西,而是使用XMPP服务器

我的项目由许多分散在不同位置的“迷你服务器”(基于raspberry pi)组成。每个迷你服务器都应该可以在其自己的网络上访问移动应用程序,该网络可以与internet隔离。每个“迷你服务器”都必须是自主的,并且能够在没有互联网的情况下生存,拥有自己的移动客户端,并响应它们的请求。所以迷你服务器可以位于私有离线网络上,也可以位于防火墙后面的已知静态或未知动态IP地址上

一些迷你服务器用户希望他们的迷你服务器可以从internet访问。还有一个,我们称之为云。该云将负责将移动客户端的请求从互联网路由到其迷你服务器

我的想法是在每台迷你服务器上使用XMPP服务器,我的应用程序将在localhost上登录到此服务器并创建聊天室。每个移动客户端都会连接到xmpp服务器并与我的应用程序请求-响应聊天。当迷你服务器所有者希望连接到Internet以从外部访问时,我只需重新配置xmpp服务器以连接到我的云xmpp群集(在已知的公共域上)和移动应用程序以连接到此公共云服务器(如果不在专用网络上)。每个迷你服务器都有自己的用户,由其上的其他应用程序管理。迷你服务器也有日志,例如可以将其写入另一个聊天室。迷你服务器或移动用户不希望彼此交谈。它是纯移动用户到微型服务器的请求-响应实时通信

云XMPP服务器能否将请求路由到迷你服务器XMPP服务器


这在XMPP中是可能的吗?它有用吗?一些更好的想法?

您描述的内容看起来像是XMPP服务器到服务器的联合,有一些本地Raspberry PI XMPP域和internet上的一些其他XMPP服务器

所以,我认为是的,您希望通过XMPP服务器实现的目标是可行的。
像这样的服务器在Raspberry Pi上运行得非常好

迷你服务器是动态ip,没有dns,可以吗?在xmpp文档中,到处都声明用户id应该有“域标识符”。每个迷你服务器都有自己的用户集。不,这些服务器需要DNS名称。这将是路由到正确的JID所必需的。所以XMPP对我来说是不可用的,除非我为每个迷你服务器制作一些DNS(不是我真正的解决方案)?我希望有某种方法可以将消息路由到mini server,而不是通过域名,而是通过一些服务器名称或id。所以,如果server1105连接到云集群,云服务器就会知道这一点,如果消息发送到admin@server1105他们将通过打开的套接字将此消息重定向到此服务器。如果此服务器未连接到云集群,则无法交付。最后,我在WebSocket上使用了自己的解决方案,并使用protobuf序列化了二进制消息。工作完美。