




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于Android 的socket编程【以聊天为例】下面,用敲门的方式演示Android如何实现套接字的通信。本例实现功能如下:Server端开启服务Client端发起链接请求,并向Server端发送数据Server端响应请求,并在Server显示,向Client端返回数据Client端接收Server的数据并显示本例效果如下:终端1:终端2:Server端:本例源代码如下:Server端:package com.android.Yao;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import .ServerSocket;import .Socket;public class YaoChatServer extends Thread private YaoChatServer() throws IOException CreateSocket();/创建Socket服务器 public void run() Socket client;String txt;try while (true)/线程无限循环,实时监听socket端口client=ResponseSocket(); /响应客户端链接请求。while(true)txt=ReceiveMsg(client); System.out.println(txt);/链接获得客户端发来消息,并将其显示在Server端的屏幕上SendMsg(client,txt);/向客户端返回消息if(true)break;/中断,继续等待链接请求CloseSocket(client);/关闭此次链接 catch (IOException e) System.out.println(e);private ServerSocket server = null;private static final int PORT = 5000;private BufferedWriter writer;private BufferedReader reader;private void CreateSocket() throws IOExceptionserver = new ServerSocket(PORT, 100);System.out.println(Server starting.); private Socket ResponseSocket() throws IOExceptionSocket client = server.accept(); System.out.println(client connected.);return client;private void CloseSocket(Socket socket) throws IOExceptionreader.close();writer.close();socket.close();System.out.println(client closed.);private void SendMsg(Socket socket,String Msg) throws IOException writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream();writer.write(Msg+n);writer.flush();private String ReceiveMsg(Socket socket) throws IOExceptionreader = new BufferedReader(new InputStreamReader(socket.getInputStream(); System.out.println(server get input from client socket.);String txt=Sever send:+reader.readLine();return txt;public static void main(final String args) throws IOException YaoChatServer yaochatserver = new YaoChatServer();if (yaochatserver != null) yaochatserver.start();Client端:package com.android.Yao;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import .UnknownHostException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import .Socket;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.*;public class YaoChatRoomAndroid extends Activity /* Called when the activity is first created. */Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.chatroom);findviews();setonclick();private EditText chattxt;private TextView chattxt2;private Button chatok;public void findviews()chattxt = (EditText)this.findViewById(R.id.chattxt);chattxt2 = (TextView)this.findViewById(R.id.chattxt2);chatok = (Button)this.findViewById(R.id.chatOk);private void setonclick()chatok.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) try connecttoserver(chattxt.getText().toString(); catch (UnknownHostException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace(););public void connecttoserver(String socketData) throws UnknownHostException, IOExceptionSocket socket=RequestSocket(07,5000);SendMsg(socket,socketData); String txt = ReceiveMsg(socket);this.chattxt2.setText(txt); private Socket RequestSocket(String host,int port) throws UnknownHostException, IOException Socket socket = new Socket(host, port);return socket;private void SendMsg(Socket socket,String msg) throws IOExceptionBufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream();writer.write(msg.replace(n, )+n);writer.fl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 想变成蝴蝶的毛毛虫课件
- 2026届广东省汕头潮阳区化学高一上期末达标检测试题含解析
- 管道焊缝编号编制
- 婚礼策划师培训方案内容
- 小儿透析试题及答案
- java面试题及答案mysql引擎
- 家电公司进出口业务管理办法
- 医药公司面试题及答案
- 培根随笔考试题及答案
- 小学安全3大应急策略
- 车间拆除及场地土壤治理与地下水修复工程项目技术方案工程方案和设备方案
- 无跨越架封网装置计算程序(直接求解)
- 《病理检验技术》课程标准
- 茶树斜纹夜蛾的特征习性、暴发原因及防治措施
- 航海英语听力与会话第四版答案
- 氯化铵安全技术说明书MSDS
- DB33∕T 1189-2020 装配式建筑结构构件编码标准
- 《投资学》课程教学大纲
- 上海市小学语文学科学习准备期教学指导意见
- 三相三线两元件电能表48种接线功率对3
- 西北工业大学考试试题空间解析几何
评论
0/150
提交评论