Demo 基于 Java 实现简单的 TCP 传输 / 接收协议
TCP 协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,再传输数据。它提供了两台计算机之间的可靠无差错的数据传输。在 TCP 连接中必须要明确客户端与服务器,由客户端向服务器发送连接请求,每次连接的创建都需要经过 “三次握手” 三次握手:TCP 协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠
package tcp;
import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
/**
* TCP 发送数据步骤
* 1.创建客户端socket对象
* 2.获取输出流,写数据
* 3.释放资源
*/
public class ClientDemo {
public static void main(String[] args) throws IOException {
// 创建客户端socket对象
// 创建流套接字并将其连接到指定IP地址的指定端口号
Socket socket = new Socket(InetAddress.getByName("192.168.31.162"),9002);
// 获取输出流,写数据
System.out.println("input you data");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 封装输出流对象
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
String line ;
//获取输出流,写数据;
while ((line = br.readLine()) != null){
// 获取输出流对象
bw.write(line);
bw.newLine();
bw.flush();
}
// 释放资源
socket.close();
}
}
package tcp;
import java.io.*;
import java.net.Socket;
import java.net.ServerSocket;
/**
* TCP 接收数据步骤
* 1.创建服务端socket对象
* 2.监听客户端连接,返回一个socket对象
* 3.获取输入流,读数据,并把数据显示在控制台
* 4.释放资源
*/
public class ServerDemo {
public static void main(String[] args) throws IOException {
// 创建服务端socket对象
ServerSocket serverSocket = new ServerSocket(9002);
// 监听客户端连接,返回一个socket对象
Socket socket = serverSocket.accept();
// 获取输入流,读数据,并把数据显示在控制台
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line;
while ((line = br.readLine()) != null){
System.out.println(line);
}
// 释放资源
serverSocket.close();
}
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有