当前位置: 首页 > 面试题库 >

JDBC与Android的Web服务

万俟亦
2023-03-14
问题内容

有人可以回答我的难题吗,该使用哪种方法将 Android 设备连接到mySQL或Postgresql?

我可以用两种方式完成此操作,没有任何错误和问题,没有明显的区别,但是每个人都建议使用Web服务,而不要使用jdbc驱动程序和直接连接,

有人可以用一些事实解释为什么吗?

编辑: 我没有提到这是更简单的,并且需要更少的时间通过jdbc来完成它。那么,为什么要使用Web服务?


问题答案:

认为
使用JDBC更为简单快捷,因为您没有考虑电话和便携式设备的实际操作环境。他们经常通过错误的流量重写代理和疯狂的防火墙来实现轻松的连接。他们通常使用的网络传输层具有高且可变的丢包率和延迟,这些延迟在很短的时间内变化了多个数量级。在这种环境下,TCP确实不是很好,特别是对于寿命长的连接而言,它尤其困难。

Web服务的主要好处是:

  • 连接状态短暂,状态极少,因此当设备将WiFi网络切换到蜂窝网络,从蜂窝网络切换到无线网络,短暂失去连接等情况时,很容易回到原来的状态。和

  • 可以通过除最糟糕和严酷的网络代理之外的所有代理

通常
,直接JDBC连接会遇到问题。挑战之一是可靠地使死连接超时,重新建立会话并释放旧会话持有的锁(因为服务器可能不会在客户端同时确定它已死)。另一个是数据包丢失,导致操作非常缓慢,数据库事务长时间运行以及随之而来的锁定持续时间和事务清除任务问题。您还将在阳光下遇到各种疯狂和损坏的代理和防火墙-
支持的代理CONNECT但是后来假设所有流量都是HTTP,如果不是,则对其进行处理;具有错误的状态连接跟踪的防火墙导致连接失败或进入半开僵尸状态;您可以想象的每个NAT问题;运营商“有帮助”地生成TCP
ACK以减少等待时间,不必理会丢包发现和窗口大小调整所引起的问题;古怪的端口阻塞;等等

因为 每个人都 使用HTTP,所以您可以期望它起作用-
至少比其他任何事情都更频繁地工作。尤其是现在,即使是在移动Web应用程序中,常见的网站也使用REST + JSON通讯样式,这尤其如此。

您还可以使用唯一的请求令牌将Web服务调用编写为 幂等的
。这样一来,您的应用就可以重新发送修改请求,而不必担心它将对数据库执行两次操作。请参见幂等和定义幂等。

认真地讲,现在从移动设备中获取JDBC似乎是一个好主意-
但我什至认为,唯一的方法是,如果这些移动设备全部都在我直接控制的单个高可靠性WiFi网络上。即使这样,如果可能的话,出于数据库性能管理的原因,我还是会避免使用它。您可以使用PgBouncer之类的方法在服务器端池化许多设备之间的连接,因此连接池不是什么大问题,但是清除丢失和废弃的连接是必需的,tcp
keepalive流量也需要清理,以使其正常工作并长时间停滞不前来自废弃连接的交易。



 类似资料:
  • 有人能回答我的困境,使用哪种方法将Android设备连接到mySQL或PostgreSQL? 我可以用这两种方式来做,没有任何错误和问题,没有明显的区别,但每个人都建议使用web服务而不是使用jdbc驱动程序和直接连接,

  • 问题内容: 与Web服务相比,JMS的最大优势是什么?反之亦然? (Web服务是否膨胀?JMS在提供接口方面总体上是否更好?) 问题答案: 从埃里克森改正后编辑: JMS要求您具有JMS提供程序,实现用于处理消息的MessageListener接口的Java类以及知道如何连接到JMS队列的客户端。JMS意味着异步处理- 客户端发送消息,而不必等待响应。JMS可以点对点队列的方式使用或发布/订阅。

  • 你能告诉我在Android中做同步工作的正确方法是什么吗(例如,如果我有大约5个工作)<注意 我所说的同步作业是指在后台运行并通过Web服务发送一些数据(如分析)的线程。。。 有关更多详细信息,请阅读更详细的描述: 我的任务是实现一些后台作业,这些作业将使一些数据与restful web服务同步。一些作业应定期安排,并有特定的延迟。如果没有internet连接,我只需缓存数据,然后当连接再次出现时

  • 1起源2:C:\users\sentientit.gradle\caches\modules-2\files-2.1\joda-time\joda-time\joda-time\2.4\89e9725439adffbbd41c5f5c215c136082b34a7f\joda-time-2.4.jar 您可以忽略构建中的这些文件。Gradle: 错误:任务“:app:PackageDebug”执行

  • 本文向大家介绍Python 搭建Web站点之Web服务器与Web框架,包括了Python 搭建Web站点之Web服务器与Web框架的使用技巧和注意事项,需要的朋友参考一下 之前用 Django 做过一个小的站点,感觉Django太过笨重,于是就准备换一个比较轻量级的 Web 框架来玩玩。Web.py 作者已经挂掉,项目好久没有更新,所以不准备用它。而 Flask 也是一个成熟的轻量级 Web 框架

  • 本文向大家介绍java 与web服务器链接的实例,包括了java 与web服务器链接的实例的使用技巧和注意事项,需要的朋友参考一下 java 与web服务器链接的实例 解决方法 下面的例子演示了如何通过使用net.Socket类sock.getInetAddress()方法获得与Web服务器连接。 结果 上面的代码示例将产生以下结果。 以上就是使用java 与web 服务器链接的实例如有疑问请留言