iphone - app - iOS聊天APNS,套接字或時間間隔



sockets chat (2)

我正在為iPhone製作聊天應用程序,但我不確定對話消息應該如何立即出現。

我已經閱讀了關於此主題的大量Google搜索結果。 還有一次:
- http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server
- http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

APNS方法:
一個不可見的通知將被推送到iPhone,表明新消息已準備好被讀取。 因此,該應用程序將發出未讀消息的請求。 因此,我不會手動輪詢新消息,而是讓APNS幫助解決這個問題。 但我不確定?

套接字方法:
建立一個打開的套接字連接以共享數據。 在db中找到新消息時,它會自動將數據發送到應用程序。 但是IP範圍,防火牆,功耗等等呢? 再次,我不確定:(

投票方式:
製作一個我輪詢請求的時間間隔,耗電量是我的敵人。

我的問題:
- 哪種方法最好?
- 其他建議?
- 我真的需要一些有這方面經驗的人的利弊和專業人士。

例子總是好的。
謝謝

https://src-bin.com



Answer #2

我認為您的主要關注點是如何在應用程序處於後台時接收新消息。 因為當我可以通過WhatsApp這樣的應用程序收到通知時,我不會整天打開一個信使應用程序。

優於TCPIP套接字,您可以使用websockets 。 因為它是HTTP,所以沒有防火牆問題,但是需要與前台的應用程序永久連接,從而耗盡電池。

並且因為只允許音樂,位置或語音IP在後台運行,所以除非應用程序處於打開狀態,否則無法輪詢。 請注意,如果您註冊這些後台任務並執行其他操作,Apple會注意並拒絕您的應用。

因此,請使用APNS。 這就是WhatsApp所做的。





apple-push-notifications