我正在设计一个聊天应用程序,其中没有中央服务器或数据库处理所有传入和传出消息。它将完全分散。
我的项目及其要求的总结
每个用户都会通过Android手机与分配给他们的特定node
进行通信。然后,此节点将直接与属于他希望发送消息的用户的node
进行通信
聊天消息将在nodes
之间通过p2p
Ethereum
协议进行通信
聊天的用户数量有限,1500-2500
将节点映射到用户将通过DHT完成并且不是问题
我希望尽可能少地依赖GCM
服务器将完全用Node js编写。我已经在XMPP,socketio和websockets上广泛阅读,但我无法得出使用内容的结论。请记住,我编写的代码将部署在多个nodes
即服务器
当然,应用程序将运行后台服务,当应用程序处于后台或根本不运行时,需要显示新消息的通知
快速部署对我来说是最不重要的因素。我只是在寻找最强大和可定制的最终产品
我想坚持服务器的nodejs
XMPP优于websockets的主要优势是,在XMPP中,聊天所需的许多功能是开箱即用的吗?或者还有更多吗?
我有一个从各种堆栈问题中获得的库列表,以及xmpp和websocket实现的示例。
在我的情况下,延迟增加1-2秒不是问题,但电池对话很重要。
This link建议使用websockets进行电池消耗不是问题。