天天看點

Android 通過Socket 和伺服器通訊

android 通過socket 和伺服器通訊,是一種比較常用的通訊方式,時間比較緊,說下大緻的思路,希望能幫到使用socket 進行通信的人

(1)開啟一個線程發送消息    socketoutputthread

      消息是放在隊列裡的,當有消息後,進入隊列,線程喚醒,發送消息,并回報發送是否成功的回調

(2)開啟一個線程接受伺服器消息 socketinputthread

       為了防止一直收資料,浪費電池的電,采用nio的方式讀socket的資料,這個是本文的關鍵 

(3)開啟一個線程,做心跳,防止socket連接配接終斷 , socketheartthread

(4)建構 socketthreadmanager對以上三個thread進行管理

(5)建構 tcpclient 發送socket消息

     在nio的方式實作tcp,特别是在接收伺服器的資料,不用寫個線程定時去讀了。

Android 通過Socket 和伺服器通訊

demo 截圖

主要代碼如下,詳細代碼在附件裡。

socketoutputthread 類

socketinputthread

sockethearthread 心跳類

線程管理類

tcpclient ,采用nio的方式建構

如何使用

代碼下載下傳 http://files.cnblogs.com/likwo/socketblockdemo.zip

繼續閱讀