socket編程 android

socket編程 android

ID:37976731

大?。?62.50 KB

頁數(shù):19頁

時間:2019-06-04

socket編程 android_第1頁
socket編程 android_第2頁
socket編程 android_第3頁
socket編程 android_第4頁
socket編程 android_第5頁
資源描述:

《socket編程 android》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、Androidsocket編程以非阻塞I/O服務(wù)器及Service為例 介紹Socket通信,有兩個不足的地方,  1.服務(wù)器會造成IO的阻塞  即服務(wù)器一旦執(zhí)行server.accept();  將一直處于阻塞狀態(tài),直到有客戶端請求連接?! ?.服務(wù)器端沒有建立用戶列表,無法將某一客戶端發(fā)送的消息廣播給所有正在連接的客戶端。  就好象是一個人自說自話,自己發(fā)送給客戶端,自己接收服務(wù)器返回的消息。  基于以上兩點,我改進了我的程序?! 》?wù)器端的改進:  1.通過采用socketchannel的非阻塞方式進行通信  2.建

2、立Userlist客戶端的哈希表,存儲已連接客戶端的ip地址和服務(wù)器為其分發(fā)的socketchannel  客戶端的改進:  1.采用Service與服務(wù)器端進行連接,發(fā)送數(shù)據(jù),實時監(jiān)聽服務(wù)器返回的數(shù)據(jù)?! ×鞒虉D:  需要改進的地方  服務(wù)器端:  1.當(dāng)一個客戶端斷開連接以后,另一個客戶端在收到消息之前也斷開連接,而此時服務(wù)器正在向客戶端發(fā)送消息,  因此,服務(wù)器的Thread.sleep時間不能太長,但也不能太短,因為考慮到服務(wù)器的負(fù)荷問題?! ?.服務(wù)器容錯處理機制需要改進?! 】蛻舳耍骸 ?.將Notificat

3、ionbar改為其他更為直觀方式刷新顯示?! ?.容錯處理機制的處理?! ∠旅媸切Ч麍D:  服務(wù)器端:  dos客戶端:  Android客戶端:  效果圖的意思是,Android的客戶端通過綁定Service與服務(wù)器端進行了連接,并發(fā)送消息。服務(wù)器向所有正在連接的客戶端廣播消息?! ≈螅珼os終端也進行連接,并發(fā)送消息,服務(wù)器接到消息后向所有正在連接的客戶端廣播消息(其中包括在線的android手機)第1頁第2頁第3頁第4頁第5頁第6頁  之前采用聊天敲門的方式來介紹Socket通信,有兩個不足的地方,  1.服務(wù)器會

4、造成IO的阻塞  即服務(wù)器一旦執(zhí)行server.accept();  將一直處于阻塞狀態(tài),直到有客戶端請求連接?! ?.服務(wù)器端沒有建立用戶列表,無法將某一客戶端發(fā)送的消息廣播給所有正在連接的客戶端?! 【秃孟笫且粋€人自說自話,自己發(fā)送給客戶端,自己接收服務(wù)器返回的消息。  基于以上兩點,我改進了我的程序。  服務(wù)器端的改進:  1.通過采用socketchannel的非阻塞方式進行通信  2.建立Userlist客戶端的哈希表,存儲已連接客戶端的ip地址和服務(wù)器為其分發(fā)的socketchannel  客戶端的改進:  1

5、.采用Service與服務(wù)器端進行連接,發(fā)送數(shù)據(jù),實時監(jiān)聽服務(wù)器返回的數(shù)據(jù)?! ×鞒虉D:  需要改進的地方  服務(wù)器端:  1.當(dāng)一個客戶端斷開連接以后,另一個客戶端在收到消息之前也斷開連接,而此時服務(wù)器正在向客戶端發(fā)送消息,  因此,服務(wù)器的Thread.sleep時間不能太長,但也不能太短,因為考慮到服務(wù)器的負(fù)荷問題?! ?.服務(wù)器容錯處理機制需要改進?! 】蛻舳耍骸 ?.將Notificationbar改為其他更為直觀方式刷新顯示?! ?.容錯處理機制的處理?! ∠旅媸切Ч麍D:  服務(wù)器端:  dos客戶端:  An

6、droid客戶端:  效果圖的意思是,Android的客戶端通過綁定Service與服務(wù)器端進行了連接,并發(fā)送消息。服務(wù)器向所有正在連接的客戶端廣播消息?! ≈螅珼os終端也進行連接,并發(fā)送消息,服務(wù)器接到消息后向所有正在連接的客戶端廣播消息(其中包括在線的android手機)第1頁第2頁第3頁第4頁第5頁第6頁  接上頁  源代碼如下:  Server端:  packagecom.android.Yao;  importjava.io.*;  importjava.nio.*;  importjava.nio.chan

7、nels.*;  importjava.net.*;  importjava.util.*;  importjava.nio.charset.*;  importjava.lang.*;  publicclassYaoChatServer  {  publicSelectorsel=null;  publicServerSocketChannelserver=null;  publicSocketChannelsocket=null;  publicintthisport=4900;  privateStringresul

8、t=null;  privateHashtableuserlists;  privateSocketChannelreadingsocket=null;  publicYaoChatServer()  {  System.out.println("Insidestartserver");  }  pub

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。