我使用PHP連接到apn
s發送一些通知到多個設備,雖然問題是更概念化,所以它不一定是特定於PHP。蘋果推送通知:發送大量的郵件
我將同時發送大約7000個設備(並不斷增長)。 我的流程每天運行一次,並廣播到所有設備,所以我不會不斷重新打開連接。
目前,我一次可以輕鬆發送到2個設備,並且郵件將成功發送。 但是,當我嘗試發送到完整的7000設備時,這些消息似乎無法傳送。
僞邏輯,我的代碼是:
open connection to apple
loop over device-tokens
write to socket connection per device
end loop
close connection to apple.
我已經看到的地方,我應該只執行一次寫,構建一個龐大的身軀,換句話說,僞代碼將如下所示:
loop over device tokens
create payload aggregating all devices
end loop
open connection to apple
write to socket ONCE with whole payload for 7000 devices
close connection
這很難測試,因爲我顯然不能用測試消息給我的7000個生產用戶發送垃圾郵件。 其他人有類似的問題嗎?
感謝
你有沒有得到這個工作?我很快會寫一個應用程序,它將面臨同樣的問題 - 通過APNS向數千個客戶進行廣播。 – 2010-10-01 16:56:54
嗨,邁克。是的,我做到了。我發佈這個問題的時候的實施還處於相當早期的階段。問題在於我在生產設備的同一張表中安裝了一些沙箱設備。如果您在使用生產證書時發送到sandbox device_token,Apple有時會斷開連接。因此,簡單的解決方案是驗證是否將正確的字節數寫入連接,並且連接在每次寫入事件後都沒有丟失。如果丟失,您必須重新打開連接並從您離開的地方繼續。祝你好運! – BoomShaka 2010-10-02 13:23:58
僅供參考,您可以打開連接並執行儘可能多的寫操作。只要確保在每次寫入後檢查連接狀態 – BoomShaka 2010-10-02 13:28:31