2011-08-02 24 views
0

我們的Web服務具有「ping」功能,非常適合測試Web服務是否可用(我不在乎互聯網連接是否可用,對不對?)我知道如何測試這種情況,但我該如何在我的應用程序中執行此操作?至於在哪裏測試?處理iPhone應用程序缺乏連接性

如果沒有連接,應用程序當然不會崩潰,它只是返回一個空的表視圖或一組視圖。我應該在每個請求之前放置ping,並在ping失敗時生成異常或錯誤消息? Web服務請求+響應本身可能比實際數據傳輸花費更長的時間(我想它會是延遲),所以我擔心在每個請求之前實施Ping可能會使執行每個請求所用的時間幾乎增加一倍。或者,我是否應該不斷地ping通並確保有連接?最佳做法是什麼?

或者我應該甚至擔心它呢?

回答

0

一旦網絡連接發生變化(例如,從飛行模式到單元格到wifi和返回),iOS可以爲您提供回調。因此,只要網絡狀態發生變化,您就會收到通知,您無需繼續對服務器執行ping操作,並且可以顯示正確的在線/離線消息。

查看NetworkReachability.h頭文件中的SCNetworkReachabilitySetCallback方法。

+0

但是到達特定的服務呢?比如說我有連接性,但是網絡服務恰好是關閉的。 –

+0

我想你是在你自己的...如果平實驗證實際服務需要太長時間,我可能會把它放入一個額外的線程,啓動時運行在一個低頻率。那麼你只需要在主工作流程中查詢狀態變量...... – KPK