Android socket 编程 实现消息推送(一)
最近用socket寫了一個消息推送的demo,在這里和大家分享一下。
主要實現了:一臺手機向另外一臺手機發送消息,這兩臺手機可以隨時自由發送文本消息進行通信,類似我們常用的QQ。
效果圖
????????
原理
手機通過socket發送消息到服務器,服務器每接收到一條消息之后,都會把這條消息放進一個messageList里面,服務器會不停地檢測messageList是否含有消息,如果有的話就會根據messageList里面item的數據,推送到相應的另一端手機上面。
下面簡單畫了一個圖來說明這個原理:
演示:手機客戶端client1發送消息msg1到手機客戶端client2,client2收到消息后回復msg2給client1
1.手機客戶端client1發送一條“msg1”的文本消息到服務器;
2.服務器收到來自client1的“msg1”消息后,把它add進messageList里面;
3.服務器檢測到messageList里面含有消息(開啟服務器時就新建里一個檢測messageList的線程,線程里面有一個死循環,用于不停檢測messageList是否含有消息);
4.服務器讀取消息數據,如讀取到來自client1發給client2的消息“msg1”,那么服務器就把“msg1”推送到client2上;
5.client2檢測到服務器推送的消息,做出相應的操作(如:震動、鈴聲、顯示消息等);
6.client2接收到來自服務器推送的“msg1”消息后,client2也回復一條文本消息“msg2”給client1,此過程和client1發送消息給client2一樣。
7.最后,client2就可以顯示來自client1發送的消息“msg1”,而client1則可以顯示來自client2的回復消息“msg2”
以上主要介紹了實現消息推送的原理,實現過程的代碼見下一篇:Android socket 編程 實現消息推送二
本文轉自:http://blog.csdn.net/zhangjm_123/article/details/41512833
總結
以上是生活随笔為你收集整理的Android socket 编程 实现消息推送(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SwipeRefreshLayout
- 下一篇: Android Design新特性-Na