Android 网络编程: SOCKET的简单使用。
来源:互联网 发布:软件无法放大缩小 编辑:程序博客网 时间:2024/05/18 01:48
本文介绍SOCKET 的服务端和客户端的开发。 在本文中并没有使用异步来对数据进行接收。 因为网上太多有关异步、存储客户端SOCKET的例子了, 但是他们的代码都非常的多, 非常的繁琐, 所以这里就去掉了异步数据接收等。
首先介绍服务端: 这里代码实现的是服务端打开后就等待客户端的连接, 当客户端连接上后就接收消息, 并发消息回去后马上关闭链接。
如果需要做类是聊天室软件的话需要加上“异步处理”
public class SocketServer{private ServerSocket mServerSocket;private static final int SERVER_PORT = 6000;//端口public SocketServer(){}public boolean startServer(){boolean bRet = false;try{//创建一个SOCKET 服务器mServerSocket = new ServerSocket(SERVER_PORT);bRet = true;} catch (Exception e){// TODO: handle exception}return bRet;}public void recv(){try{Socket socket = mServerSocket.accept();//拿到客户端的输入输出(读取,发送)InputStream is = socket.getInputStream();PrintWriter pw = new PrintWriter(socket.getOutputStream());//这里读取客户端第一次发来的消息 调试来看吧byte buffer[] = new byte[1024];int reCount = is.read(buffer);String msgString = EncodingUtils.getString(buffer, "GB2312");//我们发回一个"aa"给客户端pw.print("aa");pw.flush();//关掉这个连接socket.close();} catch (Exception e){// TODO: handle exception}}public void close(){try{mServerSocket.close();} catch (Exception e){// TODO: handle exception}}}
客户端:
public class SocketClient{private Socket socket;private InputStream mInputStream;private PrintWriter mPrintWriter;private static final StringSERVER_IP = "192.168.1.24";private static final int SERVER_PORT= 6000;public SocketClient(){}public boolean connection(){boolean bRet = false;try{//创建一个客户端连接InetAddress ia = InetAddress.getByName(SERVER_IP);socket = new Socket(ia, SERVER_PORT);//获取这个客户端连接SOCKET的输入输出mPrintWriter = new PrintWriter(socket.getOutputStream(), true);mInputStream = socket.getInputStream();bRet = true;} catch (Exception e){// TODO: handle exception}return bRet;}//发送消息public void sendMsg(String msg){mPrintWriter.print(msg);mPrintWriter.flush();}//读取消息public String readMsg(){String msgString = "";try{byte buffer[] = new byte[1024];int reCount = mInputStream.read(buffer);msgString = EncodingUtils.getString(buffer, "GB2312");} catch (Exception e){// TODO: handle exception}return msgString;}public void close(){try{socket.close();} catch (Exception e){// TODO: handle exception}}}
主:
private android.view.View.OnClickListener btnClickListener = new android.view.View.OnClickListener(){@Overridepublic void onClick(View v){int id = v.getId();switch (id){case R.id.btn:{SocketClient socketClient = new SocketClient();socketClient.connection();socketClient.sendMsg("123");socketClient.sendMsg("123");socketClient.sendMsg("123");socketClient.sendMsg("123");String r = socketClient.readMsg();socketClient.close();Toast.makeText(SocketActivity.this, r, Toast.LENGTH_LONG).show();}break;case R.id.btn_server:{SocketServer socketServer = new SocketServer();socketServer.startServer();socketServer.recv();socketServer.close();}break;default:break;}}};
那么我们如果写了一个服务端或者客户端就像验证一下怎么办呢?
那就可以用到TCP/IP测试工具
下载地址: http://download.csdn.net/detail/knowheart/4448598
工程源码: http://download.csdn.net/detail/knowheart/4448592
- Android 网络编程: SOCKET的简单使用。
- android的SOCKET网络编程
- 一个Socket网络编程的简单例子
- Android网络编程Socket
- Android网络编程的Socket通信总结
- socket网络编程的初学使用见解
- iOS 网络编程socket NSSteam的使用
- Java网络编程之Socket的使用
- 【Java网络编程】Socket的使用
- 网络编程:使用Socket实现简单的服务器和客户端的通信
- 网络编程----------SOCKET编程实现简单的TCP协议
- SOCKET网络编程(简单介绍)
- Android网络编程之Socket通信实现简单聊天室
- 使用socket.io编程的简单聊天室
- Socket的网络编程
- Linux的简单的socket网络编程实例
- socket网络编程--简单的多人聊天
- linux C 简单socket网络编程的实例
- QT学后感
- 最短路&差分约束题集
- 什么是Oracle的物化视图
- 多个Ztree异步加载问题
- wince6.0的C#调试心得(一)
- Android 网络编程: SOCKET的简单使用。
- 跨浏览器兼容性检查的最佳工具
- 缅怀一下我曾经的项目—I3000
- c# 工具栏与状态栏
- 【基础语言学习】C#中的可空类型运算(Nullable<T>)------T?
- Transaction Quantity to Primary Quantity
- 人民币连触“跌停” 周二央行大幅上调美元/人民币中间价
- 使用gravatar创建自己的动态照片登录框
- C# 程序开机启动