Android 分散聊天通信协议

Android 分散聊天通信协议,android,node.js,websocket,xmpp,chat,Android,Node.js,Websocket,Xmpp,Chat,我正在设计一个聊天应用程序,其中没有中央服务器或数据库来处理所有传入和传出的消息。它将完全分散 总结我的项目及其要求 每个用户将通过android手机与分配给他们的特定节点进行通信。然后,该节点将直接与他希望发送消息的用户的节点通信 聊天信息将通过p2p协议在节点之间进行通信,该协议由以太坊 聊天的用户数量有限,1500-2500 将节点映射到用户将通过DHT完成,这不是问题 我希望尽可能少地依赖GCM 服务器将完全用NodeJS编写。我已经广泛阅读了XMPP、socketio和websock

我正在设计一个聊天应用程序,其中没有中央服务器或数据库来处理所有传入和传出的消息。它将完全分散

总结我的项目及其要求

  • 每个用户将通过android手机与分配给他们的特定
    节点进行通信。然后,该节点将直接与他希望发送消息的用户的
    节点
    通信

  • 聊天信息将通过
    p2p
    协议在
    节点之间进行通信,该协议由
    以太坊

  • 聊天的用户数量有限,1500-2500

  • 将节点映射到用户将通过DHT完成,这不是问题

  • 我希望尽可能少地依赖GCM

  • 服务器将完全用NodeJS编写。我已经广泛阅读了XMPP、socketio和websockets,但无法就使用什么得出结论。请记住,我编写的代码将跨多个
    节点部署,即服务器

  • 当然,该应用程序将运行后台服务,并且当应用程序处于后台或根本不运行时,需要显示新消息的通知

  • 对我来说,快速部署是最不重要的因素。我只是在寻找最强大和可定制的最终产品

  • 我想继续使用服务器的nodejs

XMPP与WebSocket相比的主要优势是,在XMPP中,聊天所需的许多功能都是现成的吗?还是还有更多

我有一个从各种堆栈问题中获得的库列表,并看到了xmpp和websocket实现的示例

在我的情况下,延迟增加1-2秒不是问题,但电池对话很重要


表明WebSocket的电池消耗不是问题

检查协议。它是轻量级的,并且使用最少的数据。

XMPP相对于WebSocket的优势
。您正在将协议与套接字技术进行比较。我不明白。
应用程序将有一个后台服务器运行
。服务器或客户端?意思是节点和套接字的组合与xmppSorry、autocorrect的实现,应用程序将运行服务,如广播接收,因此即使应用程序未运行,它也可以获取消息