Android基于TCP协议的Socket通信完整详细易懂例子(一)(记录学习)

释放双眼,带上耳机,听听看~!

最近这段时间因为公司的业务没有那么的紧,所以也会偶尔有一些自己的自由时间去做自己想做的事,最近也一直在琢磨socket 然后就写了一个详细易懂的demo分享给大家

在这里呢 那些tcp,udp的区别和什么tcp三次握手我这里就不说了(主要我现在也不太懂)百度一下你就知道
好了 废话不多 直接开始:
首先来一个流程图 根据这个图片就可以清楚知道使用TCP协议进行通信的实现的过程
在这里插入图片描述
然后再来一个简单却不失详细的demo
这里服务端的实现我用的是eclipse进行实现的

public class SocketServiceTcp {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("开始了臭弟弟:");
try {
//1.创建一个服务器端Socket,即ServerSocket,指定绑定的端口,并监听此端口
ServerSocket serverSocket = new ServerSocket(12345);
Socket socket = null;
//2.调用accept()等待客户端连接
System.out.println("~~~服务端已就绪,等待客户端接入");
socket = serverSocket.accept();
//3.连接后获取输入流,读取客户端信息
InputStream is=null;
InputStreamReader isr=null;
BufferedReader br=null;
is = socket.getInputStream();     //获取输入流
isr = new InputStreamReader(is,"UTF-8");
br = new BufferedReader(isr);
String info = null;
while((info=br.readLine())!=null){//循环读取客户端的信息
System.out.println("客户端发送过来的信息" + info);
}
socket.shutdownInput();//关闭输入流
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (Exception e) {
e.printStackTrace();
}
}
}

Android客户端的实现

 btna.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
try {
Socket socket = new Socket("192.168.30.83",12345);
OutputStream os = socket.getOutputStream();
os.write("弟弟救我".getBytes());
OutputStreamWriter writer = new OutputStreamWriter(os,"UTF-8");
writer.flush();
socket.shutdownOutput();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
});

实现的效果:
在这里插入图片描述
这就完成了客户端往服务器端发送数据

人已赞赏
Android文章

android自定义View之从入门到放弃(四)实现事件监听回调 记录学习

2020-3-19 15:11:29

Android文章

Android基于UDP协议的Socket通信详细例子实现(一)(记录学习)

2020-3-19 17:10:54

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索