我正面臨API問題。我有我的API,iOs應用程序和外部API。PHP等待API響應
iOs對我的API發出請求,我的API向外部API發出請求。但是現在我必須等待外部API向我的回調發送數據,這需要一些時間,例如30秒。我應該如何與iOs應用保持聯繫?
我有3種可能的解決方案。
- 問我的API,例如每10秒。如果數據已經到達。
- 當數據到達時將通知發送到我的應用程序。
- 如果我正確理解套接字,請創建將偵聽響應的套接字。
有沒有其他解決方案?或者最佳做法是什麼?
我正面臨API問題。我有我的API,iOs應用程序和外部API。PHP等待API響應
iOs對我的API發出請求,我的API向外部API發出請求。但是現在我必須等待外部API向我的回調發送數據,這需要一些時間,例如30秒。我應該如何與iOs應用保持聯繫?
我有3種可能的解決方案。
有沒有其他解決方案?或者最佳做法是什麼?
您可以嘗試的另一種方法是使用APN將應用程序通知新的數據到達。
iOS的客戶端向您的API
你的API使得在內線的請求的請求。 API,向iOS客戶端返回響應
根據您可能能夠在推送通知的有效內容中發送的數據而定。根據官方文件,有效載荷大小現在可高達4096字節。 https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/TheNotificationPayload.html –
如果@chasenyc建議您爲您工作,它會爲您節省第5段中的額外請求時間,因爲你不需要再做了。 –
謝謝你們的回覆,你爲我提出了最好的解決方案。將嘗試它像這樣實施。 @chasenyc不幸的是它會超過4 kB,所以iOs應用程序必須提出另一個請求。 – Vastlik
你使用什麼協議? HTTP?您是否在應用程序和API之間保持連接(例如TCP)? – TheOperator
我正在使用HTTPS。我不保持連接。有沒有關於如何實現PHP和iOS應用程序編寫的API之間的連接的文章? – Vastlik
我相信@Igor T.的解決方案是理想的。爲此目的使用套接字不是很可靠,特別是如果電話接收到呼叫或進入睡眠狀態,套接字連接將會丟失。每10秒查詢API *如果用戶基數非常小,則可能是一個很好的解決方案;然而,這個選項並不理想,因爲會有許多不必要的查詢。 –