Closed. This question is opinion-based。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
                        
                        2年前关闭。
                                                                                            
                
        
我必须将新功能添加到android应用程序(4.1 api 16),java服务器(1.7)作为与tomcat 7的后端。通过http请求和json进行通信。对于该应用的新功能,要求用户可以实时交流,因此我发现了不同的可能性,例如
长轮询,网络套接字。服务器发送的事件。
任何建议,不胜感激。

最佳答案

这不仅仅与WhatsApp有关,还有大量的即时通讯工具。我们已经汇总了最好的Android产品,因此您可以选择最适合您的个人口味和需求的Android产品。

我个人将Firebase推荐为聊天Messenger的最佳实时应用程序之一。我在下面列出了我的原因:

Documentation, Support, Flexibility, Scope, Reliability, Cost, Complexity


您还可以使用下面列出的一些第三方:


  PubNub


PubNub为您提供70多种不同的SDK,以开发具有全球分布的数据中心以及自动复制和故障转移功能的可扩展的实时数据流应用程序。


  操作系统:FreeBSD


FreeBSD是WhatsApp所基于的操作系统。
内核服务-进程管理,内存管理,I / O系统,进程间通信。


  YAWS(还有另一个Web服务器)


YAWS是一个Erlang Web服务器。它使用Erlang编写,并且使用Erlang作为其嵌入式语言,类似于Apache中的PHP。


  Ejabberd(XMPP)服务器


Ejabberd(XMPP)服务器可促进两个或多个用户之间的实时即时消息传输。即使在高峰流量下也具有高可靠性和可持续性,这就是WhatsApp开发人员之所以选择Ejabberd的原因。
XMPP协议也已被自定义,以加快登录和重新登录会话的速度。


  Erlang


该编程语言用于构建对高可用性有要求的大规模可扩展软件实时系统。运行时系统具有对并发,分发和容错的内置支持。

的PHP
关于PHP集成,还有两种交流方式。您可以使用PHP Erlang Bridge将聊天与PHP代码集成在一起。 PEB(PHP-Erlang-Bridge)是一个开放式源代码PHP扩展,用于将PHP作为Erlang节点运行。


  XMPP


基于XML的面向消息的中间件通信协议。仅对于实时聊天应用程序,XMPP比HTTP更快。它确保网络安全并用于传输消息。
HTML5 WebSockets这种通讯技术可促进双向通讯。


  数据库(Mnesia)


Mnesia DB处理数据库管理的繁重任务。 Mnesia是一个多用户分布式DBMS,它也是ERLANG的默认DB。 Mnesia帮助实现更快的请求响应,从而提高了整体效率。

Plz check reference url

07-27 15:24