TCP模拟客户端和服务器端之前的响应
客户端:
public class TCPClientDemo {
public static void main(String[] args) throws IOException {
//首先先创建一个客户端Socket
Socket socket = new Socket("127.0.0.1",8888);
//在使用Socket中的方法getOutputStreamh获取一个向服务器发出信号的输出流
OutputStream outputStream = socket.getOutputStream();
//使用输出流OutputStream对象中的write方法写入数据
outputStream.write("呼叫服务器,收到请回答".getBytes());
//使用Socket中的方法getInputStream获取服务器给的返回值
InputStream inputStream = socket.getInputStream();
//用对象中的方法读取服务器给的返回值
byte[] bytes = new byte[1024];
int len = inputStream.read(bytes);
System.out.println(new String(bytes,0,len));
//关闭客户端
socket.close();
}
}
服务器端:
public class TCPServerDemo {
public static void main(String[] args) throws IOException {
//首先先创建一个服务器端ServerSocket,接收指定端口号
ServerSocket server = new ServerSocket(8888);
//使用ServerSocket对象中的方法accept,返回一个Socket对象
Socket socket = server.accept();
//使用Socket对象中的方法getInputStream,获取客户端发送的请求
InputStream inputStream = socket.getInputStream();
//使用InputStream对象中的方法read读取获取的的数据
byte[] bytes = new byte[1024];
int len = inputStream.read(bytes);
System.out.println(new String(bytes,0,len));
//使用Socket对象中的方法getOutputStream向客户端发送收到信息并且输入相关的信息
OutputStream outputStream = socket.getOutputStream();
//使用OutputStream对象中的write方法向客户端写入信息
outputStream.write("已经收到,请指示".getBytes());
//关闭Socket和ServerSocket
socket.close();;
server.close();
}
}