我正在編寫一個應用程序,它可以在一天中連接並持續與我們的服務器通信。如何處理ios的連接丟失
在這一天,用戶可能會或可能不會鬆動他們的連接,超出範圍等我想知道什麼是處理這些實例的最佳方式,關於我的代碼的行爲方式和他們的方式我通知用戶。
我正在編寫一個應用程序,它可以在一天中連接並持續與我們的服務器通信。如何處理ios的連接丟失
在這一天,用戶可能會或可能不會鬆動他們的連接,超出範圍等我想知道什麼是處理這些實例的最佳方式,關於我的代碼的行爲方式和他們的方式我通知用戶。
*注:我假設你想通過HTTP
執行網絡操作閱讀
對於讀取的數據,這取決於您的假設是圍繞其變化的速度。
對於可更改的數據(預計每天會發生幾次更改的數據),請使用SDURLCache。 SDURLCache提供HTTP本地緩存。如果你將它與AFNetworking連接起來,那麼它也將遵循標準的HTTP緩存行爲(過期頭文件,etags等)。對於「靜態」數據,您可以將數據與應用程序本地捆綁在一起,並定期通過HTTP檢查更新。
無論哪種情況,您都應該嘗試(如果可能)在應用程序中打包某些數據,以便安裝應用程序的那一天,它可能不需要網絡連接來運行。
寫入
對於寫操作,來處理這個最好的辦法是到隊列中的所有的寫操作,並在適當的時候發帖。實現一個隊列相對簡單,很大程度上取決於如何在本地存儲事物。一種方法是在SQLite數據庫表中設置標誌來指示需要發佈到服務器端的數據元素。另一個可能是構建文檔並將它們寫入磁盤,在連接時有單獨的調度線程將它們發佈到服務器端。