TCPClient
/*
1、创建客户端对象
2、获取字节输出流对象
3、向服务端写数据
4、获取字节输入流对象
5、用来接收服务端返回的数据
6、关闭资源
*/
public class TCPClient {
public static void main(String[] args) throws IOException {
//创建客户端对象
Socket socket = new Socket("127.0.0.1", 888);
//获取字节输出流对象
OutputStream outputStream = socket.getOutputStream();
//向服务端写数据
outputStream.write("你好".getBytes(StandardCharsets.UTF_8));
//获取字节输入流对象
InputStream inputStream = socket.getInputStream();
//用来接收服务端返回的数据
byte[] bytes = new byte[1024];
int len=inputStream.read(bytes);
System.out.println(new String(bytes,0,len));
//关闭资源
inputStream.close();
outputStream.close();
socket.close();
}
}
TCPServer
/*
1、创建服务端对象
2、调用accept方法获取 正在连接的客户端对象
3、使用客户端对象获取字节输入流对象
4、用来接收客户端发送的数据
5、客户端对象调用获取字节输出流对象
6、向客户端写回
7、关闭资源
*/
public class TCPServer {
public static void main(String[] args)throws IOException {
//创建服务端对象
ServerSocket serverSocket = new ServerSocket(888);
//调用accept方法获取 正在连接的客户端对象
Socket thisSocket= serverSocket.accept();
//使用客户端对象获取字节输入流对象
InputStream inputStream = thisSocket.getInputStream();
//用来接收客户端发送的数据
byte[] bytes = new byte[1024];
int len = inputStream.read(bytes);
System.out.println(new String(bytes,0,len));
//客户端对象调用获取字节输出流对象
OutputStream outputStream = thisSocket.getOutputStream();
//向客户端写回
outputStream.write("你也好啊!".getBytes(StandardCharsets.UTF_8));
//关闭资源
outputStream.close();
inputStream.close();
serverSocket.close();
}
}