分散式聊天通信协议

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

总结我的项目和它的要求

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

  • 聊天消息将通过从Ethereum使用的一个库中Ethereump2p协议在nodes之间进行通信

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

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

  • 我想尽可能少地依赖GCM

  • 服务器将完全写入Node js。 我已经详细阅读了XMPP,socketio和websockets,但无法就使用什么做出结论。 请记住,我编写的代码将部署在多个nodes即服务器)上

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

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

  • 我想坚持服务器的nod​​ejs

  • XMPP的主要优点是与XMPP中的websockets相比,聊天所需的许多功能都是开箱即用的? 或者还有更多吗?

    我有一个从各种堆栈问题中获得的库的列表,以及xmpp和websocket实现的例子。

    延迟1-2秒的延长对我来说不是问题,但电池交谈很重要。

    这个链接建议使用websockets的电池消耗不是问题。


    检查MQTT协议。 它重量轻,使用最少的数据。

    链接地址: http://www.djcxy.com/p/94173.html

    上一篇: Decentralized Chat Communication Protocol

    下一篇: How to retrieve one to one chat history from Openfire using asmack android