双向通信
public class Client {
public static void main(String[] args) throws IOException {
System.out.println("客户端开始启动:");
Socket socket = new Socket(InetAddress.getLocalHost(), 8888);
DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream());//获取socket的输出流
DataInputStream dataInputStream = new DataInputStream(socket.getInputStream());//获取socket的输入流
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));//键盘输入流
while (true) {
String message = "";
message = bufferedReader.readLine();
dataOutputStream.writeUTF(message);
if (message.equals("88")) {
break;
}
message = dataInputStream.readUTF();
System.out.println("服务端消息:" + message);
}
bufferedReader.close();
dataOutputStream.close();
socket.close();
}
}
class Server {
public static void main(String[] args) throws IOException {
System.out.println("服务器开始启动:。。。");
ServerSocket serverSocket = new ServerSocket(8888);
Socket client = serverSocket.accept();//获取连接的哪个socket
DataInputStream dataInputStream = new DataInputStream(client.getInputStream());//获取输入流
DataOutputStream dataOutputStream = new DataOutputStream(client.getOutputStream());//获取输出流
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));//获取键盘输入
while (true) {
String message = "";
message = dataInputStream.readUTF();
System.out.println("客户端的消息:" + message);
if (message.equals("88")) {
break;
}
message = bufferedReader.readLine();
dataOutputStream.writeUTF(message);
}
dataInputStream.close();
dataOutputStream.close();
client.close();
serverSocket.close();
}
}