服务端:public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8080);
Socket socket = serverSocket.accept();
new Thread(() -> {
while (true) {
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String string;
while ((string = bufferedReader.readLine()) != null&&!string.equals("exit")) {
System.out.println("客户端:" + string);
}
if (string.equals("exit")) {
System.out.println("对方已下线");
System.exit(0);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
new Thread(() -> {
try {
while (true) {
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
Scanner scanner = new Scanner(System.in);
String next = scanner.next();
bufferedWriter.write(next);
bufferedWriter.newLine();
bufferedWriter.flush();
if (next.equals("exit")) {
System.exit(0);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}).start();
}
}
客户端:
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("127.0.0.1", 8080);
new Thread(() -> {
try {
while (true) {
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
Scanner scanner = new Scanner(System.in);
String next = scanner.next();
bufferedWriter.write(next);
bufferedWriter.newLine();
bufferedWriter.flush();
if (next.equals("exit")) {
System.exit(0);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}).start();
new Thread(() -> {
while (true) {
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String string;
while ((string = bufferedReader.readLine()) != null&&!string.equals("exit")) {
System.out.println("服务端:" + string);
}
if (string.equals("exit")) {
System.out.println("对方已下线");
System.exit(0);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
|
|