2017-03-03 42 views
0

我有一個客戶端/服務器應用程序,其中客戶端是iOS應用程序,服務器是RESTful API。我收到了關於請求超時的投訴,而且我知道有些/大部分時間,這是由於無線網絡連接差。在這些情況下,我想在客戶端上顯示一條錯誤消息,指出服務器是否收到請求。HTTP請求超時。弱wifi或緩慢的服務器?

是否有可能在iOS中分辨從未達到預期目的地的HTTP請求與一直到達預期目的地但始終未收到響應的HTTP請求之間的區別?

你只檢查後,您的互聯網連接是否可達,或者如果沒有連接到互聯網不是.show錯誤信息
+0

可能是你的數據很高 –

+0

我認爲你不能分辨,直到你得到服務器的響應 – Dherya

+0

有一種情況發生在你連接到互聯網,但速度你得到0 kb /秒或一些東西。因此,可達性仍然將其視爲連接到互聯網,但您根本無法獲得速度。在這種情況下,只有很長一段時間後,你會得到* timeout *錯誤。 – Rikh

回答

0
  1. API調用(這是由於不良的WiFi連接)

    例子:Check for internet connection availability in Swift

  2. 當它的checked api調用處理錯誤代碼404(永遠不會到達預期的目的地)和504(超時錯誤代碼永遠不會收到響應)並讓用戶只有當狀態代碼是200時才成功。但是它的好處理401(授權錯誤)也。

我不知道你使用的是哪個庫,爲什麼不能提供任何代碼示例,現在

嘗試Alamofire庫中迅速,我建議處理錯誤代碼非常好。