droidSocket實(shí)現(xiàn)簡(jiǎn)單聊天小程序_第1頁(yè)
droidSocket實(shí)現(xiàn)簡(jiǎn)單聊天小程序_第2頁(yè)
droidSocket實(shí)現(xiàn)簡(jiǎn)單聊天小程序_第3頁(yè)
droidSocket實(shí)現(xiàn)簡(jiǎn)單聊天小程序_第4頁(yè)
droidSocket實(shí)現(xiàn)簡(jiǎn)單聊天小程序_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、an droid Socket 實(shí)現(xiàn)簡(jiǎn)單聊天小程序服務(wù)器端:Java代碼1.package org.hwq.echo;2.3.importjava.io.BufferedReader;4.importjava.ioO Exception;5.importjava.i onputStreamReader;6.importjava.io.PrintWriter;7.import.ServerSocket;8.import.Socket;9.10.publicclass TalkServer 11.public staticvoid main(String args)throws IOExcepti

2、on12.ServerSocket server =null ;13.Socket client =null ;14.BufferedReader in =null ;15.PrintWriter out =null ;16.try 17.server =new ServerSocket(4700);18.client = server.accept();19.out =new PrintWriter(client.getOutputStream();20.in =new BufferedReader(new InputStreamReader(client.getInputStream();

3、21.String line = in.readLine();22.while (! bye .equals(line)23.System.out.println(client:+line);24.out.println(echo:+line);25.out.flush();26.line = in.readLine();27.28.catch (Exception e) 29.e.printStackTrace();30.if (client !=null )31.client.close();32.if (server !=null )33.server.close();34.35.36.

4、手機(jī)端:Java代碼 *I1. package org.hwq.cho;2.2. import java.io.BufferedReader;3. import java.io0 Exception;4. import java.i onputStreamReader;5. import java.io.PrintWriter;6. import .Socket;7. import .UnknownHostException;9.8. import android.app.Activity;9. import android.content.Context;10. import android

5、.os.Bundle;11. import android.os.Handler;12. import android.os.Message;13. import android.view.View;14. import android.view.View.OnClickListener;15. import android.widget.Button;16. import android.widget.EditText;17. import android.widget.Toast;20.18. public class EchoActivity extends Activity imple

6、ments OnClickListener 19. EditText show,msg;20. Button send;21. Handler handler;22. Socket client;23. /* Called when the activity is first created. */24. Override25. public void onCreate(Bundle savedInstanceState) 26. super .onCreate(savedlnstanceState);27. setContentView(R.layout.main);28. handler

7、=new MyHandler();29. show = (EditText) findViewById(R.id.show);30. msg = (EditText) findViewById(R.id.msg);31. send = (Button) findViewById(R.id.send);32. send.setOnClickListener(this);33. 34. Override35. public void onClick(View arg0) 36. String message = msg.getText().toString();/ System.out.print

8、ln(msg:+message);new EchoThread(EchoActivity.this ,message).start();public class MyHandler extends HandlerOverridepublic void handleMessage(Message msg) switch (msg.what)case 1:Toast.makeText(EchoActivity.this ,建立連接失敗,0).show();break ;case 2:String message = (String) msg.obj;System.out.println(Handl

9、er: +message);show.append(n +message);break ;private class EchoThread extends Threadprivate Context context;private String msg;EchoThread(Context context,String msg)this .context = context;this .msg = msg;public void run()if (client = null )try client =new Socket( 192.168.1.102, 4700 );catch (IOExce

10、ption e) Message message =new Message();message.what =1;handler.sendMessage(message);System.out.println(建立連接);try BufferedReader in;BufferedReader input;PrintWriter out;in =new BufferedReader( new lnputStreamReader(client.getlnputStream();40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.6

11、0.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.79.80.81. out =new PrintWriter(client.getOutputStream();82. String line = msg;83.if (! bye .equals(line)84.System.out.println(line:+line);85.out.println(line);86.out.flush();87.String echo = in.readLine();88.System.out.println(server:+echo);89.

12、Message message =new Message();90.message.obj = echo;91.message.what =2;92.handler.sendMessage(message);93.94.catch (Exception e) 95.96. 97. 98. 99. 注意幾點(diǎn):1、添加網(wǎng)絡(luò)權(quán)限Java代碼I/1. vuses-permission android:name=android.permissio nN TERNET如果沒(méi)添加,無(wú)法使用socket連接網(wǎng)絡(luò)。2、在新啟線(xiàn)程中不要使用 an droid系統(tǒng)UI界面在EchoThrad的run()方法里面,有

13、下面代碼:1.if (client =null )2.try 3.client =new Socket( 192.168.1.1024.catch(lOException e) 5.Message message=new Message();6.message.what =1;7.handler.sendMessage(message);Java代碼心I,4700 );8. 9.這里的 handler.sendMessage(message);是發(fā)送一個(gè)消息給 handler, 然后handler根據(jù)消息彈出一個(gè)Toast顯示連接失敗。如果這里直接使 用Java代碼必1. Toast.make

14、Text(EchoActivity.this ,建立連接失敗,0).show();會(huì)報(bào)如下錯(cuò):Java代碼心1. Cant create handler inside thread that has not called Looper.prepare()倚窗遠(yuǎn)眺,目光目光盡處必有一座山,那影影綽綽的黛綠色的影,是春天的 顏色。周遭流嵐升騰,沒(méi)露出那真實(shí)的面孔。面對(duì)那流轉(zhuǎn)的薄霧,我會(huì)幻想,那 里有一個(gè)世外桃源。在天階夜色涼如水的夏夜,我會(huì)靜靜地,靜靜地,等待一場(chǎng) 流星雨的來(lái)臨許下一個(gè)愿望,不乞求去實(shí)現(xiàn),至少,曾經(jīng),有那么一刻,我那還未枯萎的, 青春的,詩(shī)意的心,在我最美的年華里,同星空做了一次靈

15、魂的交流秋日里,陽(yáng)光并不刺眼,天空是一碧如洗的藍(lán),點(diǎn)綴著飄逸的流云。偶爾, 一片飛舞的落葉,會(huì)飄到我的窗前。斑駁的印跡里,攜刻著深秋的顏色。在一個(gè) 落雪的晨,這紛紛揚(yáng)揚(yáng)的雪,飄落著一如千年前的潔白。窗外,是未被污染的銀 白色世界。我會(huì)去迎接,這人間的圣潔。在這流轉(zhuǎn)的歲月里,有著流轉(zhuǎn)的四季, 還有一顆流轉(zhuǎn)的心,亙古不變的心。Whe n you are old and grey and full of sleep,And no ddi ng by the fire, take dow n this book,And slowly read, and dream of the soft lookYour eyes had once, and of their shadows deep;How many loved your mome nts of glad grace,And loved your beauty with love false or true,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論