1.了解使客戶端能夠實時收到服務器真個方式:第1種是客戶端使用Pull(拉)的方式,就是隔1段時間就去服務器上獲得1下信息,看是不是有更新的信息出現。第2種就是 服務器使用Push(推送)的方式,當服務器端有新信息了,則把最新的信息Push到客戶端上。這樣,客戶端就可以自動的接收到消息。
2.幾種常見的解決方案實現原理
1)輪詢(pull)方式:客戶端定時向服務器發送詢問消息,1旦服務器有變化則立即同步消息,但是輪詢的頻率太慢可能致使某些消息的延遲,太快則會大量消耗網絡寬帶和電池;
2)SMS(push)方式:通過攔截SMS消息并且解析消息內容來了解服務器的命令,但這類方式1般用戶在經濟上很難承受,需要依賴于運營商;
3)客戶端和服務器端之間建立久長連接,這樣就能夠實現消息的及時性和實時性;
3.對大量的數據推送,且不需要及時推送,則輪詢比較適用。利用集成Service組件的類來進行定義、實現。
4.長時間連接中第3方的消息推送方式,則適用于及時推送,數據量其實不是很大的消息推送,由于消息推送需要依賴于第3方的服務器來進行轉發,如果第3方的服務器奔潰則您的消息推送也會遭到影響,可能這類情況產生的其實不會多吧。對第3方的消息推送方式我也有所研究,主要研究了極光消息推送和百度云消息推送。其實這兩種方式是差不多的,都是自己封裝的1個方法,進行消息推送,想要學習的可以到其官網上進行注冊開發者賬號進行研究,可以在官網上下載demo進行研究,由于方法已封裝好,用起來也不是很難,成心愿的可以進行1下研究,但是注意,該方式的消息推送需要依賴于第3方進行轉發。
5.固然要想要安全與及時的進行消息推送,還是需要自己去進行相干協議的了解,自己封裝方法來進行消息推送。1般可使用的協議有:MOTT協議、XMPP協議。
1)MQTT是1個輕量級的消息發布/定閱協議,它是實現基于手機客戶真個消息推送服務器的理想解決方案。
2)XMPP(可擴大通訊和表示協議)是基于可擴大標記語言(XML)的協議,它用于即時消息(IM)和在線探測。這個協議可能終究允許因特網用戶向因特網上的其他任何人發送即時消息。Google官方的C2DM服務器底層也是采取XMPP協議進行的封裝。聽說這個協議是1種比較適合的消息推送的協議,成心者也能夠研究1下,本人小菜鳥也在研究中,但是還是沒有甚么頭緒,糾結......
最后,說1下,可能有些人認為我說的都是1些空話,我只是想給那些和我1樣的小菜鳥1個思路吧,這也是我研究后總結的。