【delphi】中 TNetHTTPClient 注意事项

一、TNetHTTPClient 是什么?

用于管理 HTTP 客户端的组件。相当于indy中的TidHTTP控件,是实现HTTP请求的客户端控件。

二、TNetHTTPClient 需要注意什么?

需要注意的是几个Timeout,因为我们使用TNetHTTPClient控件的时候,首先就是需要和服务器连接,连接成功过后就需要和服务器进行通信,那么在这个过程中,最容易忽略或者最容易出现问题的就是超时处理,比如服务器当了,连接不上,那么如果此时你的超时处理没有做好,那么你的程序一定会出现你的非预料结果,对于移动端App来说,很可能出现直接闪退。因为我最近在开发App的时候就遇到了这样的问题,所以记录下来,让大家少走些弯路,少踩坑!

TNetHTTPClient 涉及到的timeout:

|----|-------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 序号 | 超时参数 | 说明 |
| 1 | ConnectionTimeout | 代表 HTTP 客户端连接建立前的超时时间。 使用 ConnectionTimeout 以毫秒为单位设置或获取客户端连接超时值。默认值为 1 分钟。 平台: WIndows √(支持) OS X X(不支持) IOS X(不支持) Android √(支持) |
| 2 | ResponseTimeout | 代表给定 HTTP 客户端请求中部分 HTTP 响应之间的最大超时值。 使用 ResponseTimeout 可以设置或获取以毫秒为单位的最大响应超时值。默认值为 1 分钟。 平台: WIndows √(支持) OS X √(支持) IOS √(支持) Android √(支持) |
| 3 | SendTimeout | 说明文档中并没有说明这个参数是什么意思。但是从字面意思来理解是发送超时的意思。经过测试似乎没有什么作用! |

需要特别注意的是:

  1. ConnectionTimeout 并不支持IOS,如果在IOS系统上设置了ConnectionTimeout是没有效果的,但是在android上是可以的。
  2. 那么如果服务器故障无法连接,在IOS上就应该使用ResponseTimeout参数进行超时处理。

以上是我最近在开发移动端APP的时候,发现Android和IOS上程序表现并不一致,而且当时并没有仔细阅读帮助文档,就是从字面意思理解这几个超时,导致我花费了时间,自己测试出来 ConnectionTimeout 并不支持IOS。最后在IOS上使用的是ResponseTimeout属性。其实遇到问题还是阅读下官方的帮助文档会更改好,不能凭经验或者字面意思理解,特别是在跨平台系统开发上。

原此文帮助到大家!

相关推荐
MaoJiu9 小时前
Flutter混合开发:在iOS工程中嵌入Flutter Module
flutter·ios
2501_9159214311 小时前
小团队如何高效完成 uni-app iOS 上架,从分工到工具组合的实战经验
android·ios·小程序·uni-app·cocoa·iphone·webview
2501_9160088912 小时前
uni-app iOS 文件管理与 itools 配合实战,多工具协作的完整流程
android·ios·小程序·https·uni-app·iphone·webview
Digitally14 小时前
如何将视频从 iPhone 转移到 Mac
macos·ios·iphone
2501_9160074714 小时前
uni-app iOS 文件调试常见问题与解决方案:结合 itools、克魔、iMazing 的实战经验
android·ios·小程序·https·uni-app·iphone·webview
豆豆(设计前端)14 小时前
使用 Uni-app 打包 外链地址APK 及 iOS 注意事项
ios·uni-app
库奇噜啦呼17 小时前
属性关键字
ios
2501_9159184121 小时前
uni-app 项目 iOS 上架踩坑经验总结 从证书到审核的避坑指南
android·ios·小程序·https·uni-app·iphone·webview
游戏开发爱好者821 小时前
iOS 上架 uni-app 流程全解析,从打包到发布的完整实践
android·ios·小程序·https·uni-app·iphone·webview
他们都不看好你,偏偏你最不争气1 天前
AutoLayout与Masonry:简化iOS布局
ios