java - android客户端之间实时通信的最佳方式是什么?

标签 java android tomcat real-time

<分区>

我必须向 android 应用程序 (4.1 api 16) 添加新功能,java 服务器 (1.7) 作为 tomcat 7 的后端。通过 http 请求和 json 进行通信。对于应用程序的新功能,要求用户可以实时交流,所以我发现了不同的可能性,比如 长轮询,websocket。服务器发送的事件。 非常感谢任何建议。

最佳答案

不仅仅是关于 WhatsApp,还有大量的即时通讯工具。我们汇总了 Android 必须提供的最佳产品,因此您可以选择最适合您个人品味和需求的产品。

我个人会推荐 Firebase 作为聊天信使的最佳实时应用程序之一。我在下面列出了我的理由:

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

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

PubNub

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

OS : FreeBSD

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

YAWS (Yet another Web Server)

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

Ejabberd (XMPP) server

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

Erlang

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

PHP 关于 PHP 集成,双方也有多种沟通方式。您可以使用 PHP Erlang Bridge 将聊天与您的 PHP 代码集成。 PEB(PHP - Erlang - Bridge)是一个开源的 PHP 扩展,用于将 PHP 作为 Erlang 节点运行。

XMPP

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

DataBase (Mnesia)

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

Plz check reference url

关于java - android客户端之间实时通信的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47495308/

相关文章:

java - 为什么 Java 无法对这段代码进行类型检查?

java - pom 中缺少artifactId 且查找父级时出错?

android - 根据其他View的宽度设置TextView的宽度

Android canGoBack 始终为 false

java - 如何设置客户端文件夹路径(如 D ://new folder) for download file in spring contoller?

java - 计算 t 倒数

java - 如何获取存储在 ConfigAdmin 中的属性?

java - Android SQLite : Running the Same Query with Different Parameters Multiple Times Efficiently

javax.servlet.ServletException : Not running on Jetty, JSR-356 支持不可用

apache - 从多个 tomcat 网站的 url 隐藏名称和端口