gpt4 book ai didi

android - 通过 http REST 和 EJB3 连接两个 android 应用程序

转载 作者:行者123 更新时间:2023-11-29 22:25:42 25 4
gpt4 key购买 nike

我正在为 android 编写应用程序,其中两个设备应通过互联网相互通信。除了这个任务之外,他们还通过 REST 与 EJB3 服务器通信。所以我决定以一石二鸟,使用 REST+EJB3 在两个配对的 android 设备之间传输数据。所以我实现的场景是这样的:

  • 两台设备都连接到服务器并获取 session ID。
  • 第一台设备向第二台设备发送数据
  • 服务器获取数据但不结束http请求,而是放入等待池
  • 第二个设备请求数据
  • 服务器将数据传输到第二个设备并释放等待第一个设备的连接(和线程)。
  • 如果没有第一个或第二个设备请求,则对手在服务器端等待超时,然后再次发送请求。数据到达后,我们需要等待服务器端的数据立即响应。

所以在这个模式中我看到了两个缺点:- 服务器端的等待线程 - 它们消耗服务器资源并因此限制服务器吞吐量- 如果服务器线程不会超时等待应答,那么客户端将不断重复请求并花费大量流量。

此类问题的最佳实践解决方案是什么?

P.S: 忘了说两台设备应该尽可能流畅和快速地交换数据。

最佳答案

您将需要使用 C2DM http://android-developers.blogspot.com/2010/05/android-cloud-to-device-messaging.html

当需要从 A 向 B 发送消息时 - A 应连接到服务器,并根据数据类型/数量 - 服务器将通过 C2DM 推送数据或仅告诉设备 B 返回并获取数据。

无论如何,我都会将数据存储在服务器上。如果推送失败 - 您可以重试。无需重新发明轮子。大多数问题/问题已在 C2DM 中解决

关于android - 通过 http REST 和 EJB3 连接两个 android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6019169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com