模仿客户端与服务器进行socket交互(TCP协议)
/**
* TCP协议演示 客户端
*
* @author JerichoPH
*/
public class Demo_TCP_Client {
public static void main(String[] args) throws Exception {
Socket socket = new Socket("127.0.0.1", 6666); // 创建客户端socket
InputStream is = socket.getInputStream(); // 获取客户端输入流
OutputStream os = socket.getOutputStream(); // 获取客户端输出流
byte[] arr = new byte[1024];
int len = is.read(arr); // 接收服务器响应数据
System.out.println(new String(arr,0,len)); // 将数据转换成字符串并打印
os.write("这里是客户端发送的数据".getBytes()); // 客户端向服务器发送数据
socket.close(); // 客户端关闭socket连接。关闭socket就同时关闭了流,所以不需要单独关闭BufferReader InputStreamReader
}
}
/**
* TCP协议演示 服务端
*
* @author JerichoPH
*/
public class Demo_TCP_Server {
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(6666); // 创建服务器端socket
Socket socket = server.accept(); // 接收客户端请求
InputStream is = socket.getInputStream(); // 接收客户端输入流
OutputStream os = socket.getOutputStream(); // 接收客户端输出流
os.write("百度一下你就知道".getBytes()); // 服务器向客户端,响应数据
byte[] arr = new byte[1024]; // 接收客户端发送数据
int len = is.read(arr);
System.out.println(new String(arr, 0, len));
socket.close(); // 服务器关闭socket,但是不能关闭server。关闭socket就同时关闭了流,所以不需要单独关闭BufferReader InputStreamReader
}
}