我必须将新功能添加到Android应用程序(4.1 api 16),java服务器(1.7)作为后端与tomcat 7.通过http请求和json进行通信。对于应用程序的新功能,用户可以实时通信,因此我发现了不同的可能性 长轮询,websocket。服务器发送的事件。 任何建议都非常感谢。
答案 0 :(得分:3)
并非所有关于WhatsApp,都有大量的即时通讯工具。我们收集了Android提供的最佳产品,因此您可以选择最适合您个人品味和需求的产品。
我个人会推荐 Firebase 作为聊天信使最好的实时应用之一。我在下面列出了我的理由:
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协议也已定制,以加快会话登录和重新签名。
二郎
用于构建具有高可用性要求的大规模可扩展软件实时系统的编程语言。运行时系统内置支持并发,分发和容错。
PHP 关于PHP集成,还有几种方式来沟通双方。您可以使用PHP Erlang Bridge将聊天与PHP代码集成。 PEB(PHP - Erlang - Bridge)是一个开放的PHP扩展,用于将PHP作为Erlang节点运行。
XMPP
基于XML的面向消息的中间件的通信协议。 XMPP仅比实时聊天应用程序更快。它确保网络安全并用于传输消息。 HTML5 WebSockets这种便于双向通信的通信技术。
DataBase(Mnesia)
Mnesia DB处理数据库管理的繁重任务。 Mnesia是一个多用户分布式DBMS,它也恰好是ERLANG的默认DB。 Mnesia帮助实现更快的请求响应,从而提高整体效率。