如何处理网络中间请求的变化 - Alamofire

Posted

技术标签:

【中文标题】如何处理网络中间请求的变化 - Alamofire【英文标题】:How to handle a change in network mid request - Alamofire 【发布时间】:2017-04-20 07:15:01 【问题描述】:

我在我的应用程序中遇到了一个问题,即使用 Alamofire 发出 HTTP 请求,在它运行时,用户打开控制中心并禁用 WiFi,有效地将呼叫运行的网络从 WiFi 切换到移动数据比如4G。这会导致网络调用失败并显示“网络连接丢失”。

这会将用户从应用程序中注销,因为这是一个需要成功使用应用程序的关键调用,我觉得 Alamofire 必须有一些内置的方法来处理这个问题?

【问题讨论】:

也许看看 Alamofires RequestRetrier。您可以检查请求失败的原因并自动重试。 【参考方案1】:

如果您选择使用切换加入多路径 TCP,这将被自动处理。您可以通过在底层 URLSession 的配置上设置 multipathServiceType 来做到这一点,但它需要服务器支持它。

https://developer.apple.com/documentation/foundation/nsurlsessionconfiguration/improving_network_reliability_using_multipath_tcp?language=objc

【讨论】:

以上是关于如何处理网络中间请求的变化 - Alamofire的主要内容,如果未能解决你的问题,请参考以下文章

网速慢或服务器宕机时如何处理 Alamofire 请求?

如何处理 Swifty JSON Alamofire 请求中的优先级?

如何处理 Alamofire 的异步特性 [重复]

StaticFileMiddleware中间件如何处理针对文件请求

Alamofire:如何处理和分类错误?

如何处理wifi和移动数据之间的网络变化?