2017-08-26 119 views
0

我們有一個iOS應用程序。我們使用HTTP服務來獲取和發佈JSON數據。推送通知也啓用。如果後端服務停止,有什麼方法可以通知用戶服務已關閉:如何在HTTP服務關閉時收到通知?

+0

示例:使用Amazon Route 53和Heath檢查。當API停止運行時,將DNS重定向到某個可以發出「服務停止」API響應的備份服務器。 – tadman

回答

0

您是否嘗試過使用timout?如果應用程序無法連接服務器一段時間,則不僅連接嘗試幾乎總是終止,還會在我使用的大多數編程語言中引發超時異常。 嘗試檢查用於通過http進行通信的對象上的超時規格,您很可能實現它們。 如果您無法連接到服務器以接收http消息 只需告訴用戶「服務器不可用」或類似的東西。理想情況下,如果你知道後端服務器將會死掉一段時間(對於 更新目的等),你仍然可以使用http服務器, ,你可以發送一個http包含文本,說明類似「服務器不可用」 ,或者你可以發送一個空的消息,然後在前端檢測到 (也就是說,如果你從不發送空消息,反正 我認爲它會給你提供問題,「server unavailable」應該會更好)。

如果http服務器將週期性不可用,請嘗試類似執行 更新通知。當您啓動應用程序時,應用程序會詢問服務器何時會發生更新。然後保存它,當它再次啓動時,它會檢查 此時此更新是否正在發生。 除此之外,如果您確實想使用推送通知,並且在服務器關閉之前定期不可用,請發送通知。 真的,你只需要在這裏使用你的想象力。

但是你不能做什麼 - 當你的服務器關閉時發送通知,如果你不知道它會關閉,你會發送一個通知, 。主要是因爲您無法通知客戶端(因爲您用於通信的服務器已關閉)。然而 - 正如我上面所述 - 你可以做的是讓客戶端檢查服務器何時關閉(如果它無法連接等)。 如果您有備份服務器,則可以在服務器關閉時發送通知。如果服務器和備份服務器都關閉,如果只有備份服務器需要通知您 - 客戶端很可能不會知道它已關閉。 您可以使用外部公司作爲您的備份服務器。所以如果電力 停機(或類似的),它不會影響你的通知系統。

希望它有幫助。