package com.itheima.demo03;
import java.io.*;
import java.net.Socket;
import java.util.Scanner;
/**
* @author Mr.liu
* @date 2021年04月13日 14:48
*/
public class Client {
//客户端
public static void main(String[] args) throws IOException {
//建立连接
Socket socket = new Socket("192.168.163.72", 8888);
BufferedReader bdf = new BufferedReader(new InputStreamReader(socket.getInputStream()));
try (BufferedWriter fileWriter = new BufferedWriter(new FileWriter("text.txt"))) {
//定义一个线程
new Thread(() -> {
try {
String len = null;
//读取数据,每次读取一行
while ((len = bdf.readLine()) != null) {
System.out.println("【她对你说】" + len);
fileWriter.write(socket.getInetAddress()+"说:"+len);
fileWriter.newLine();
if ("拜拜".equals(len)) {
fileWriter.close();
System.exit(0);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}).start();
//定义一个文件扫描器,用来接受收据
Scanner scanner = new Scanner(System.in);
//向服务器发送数据
OutputStream out = socket.getOutputStream();
while (true) {
System.out.println("【你对她说】:");
String content = scanner.next();
out.write((content + "\r\n").getBytes());
fileWriter.write(socket.getInetAddress()+"说:"+content);
fileWriter.newLine();
//如果等于拜拜,退出
if ("拜拜".equals(content)) {
fileWriter.close();
System.exit(0);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.itheima.demo03;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
/**
* @author Mr.liu
* @date 2021年04月13日 14:48
*/
public class Server {
public static void main(String[] args) throws IOException {
//与客户端建立连接
ServerSocket serverSocket = new ServerSocket(8888);
//正在的等待连接
Socket accept = serverSocket.accept();
//如果,连接成功,则读取数据,否则。。。
BufferedReader bdf1 = new BufferedReader(new InputStreamReader(accept.getInputStream()));
new Thread(() -> {
try {
String len = null;
//读取数据,每次读取一行
while ((len = bdf1.readLine()) != null) {
System.out.println("【她对你说】" + len);
}
} catch (IOException e) {
e.printStackTrace();
}
}).start();
Scanner scanner = new Scanner(System.in);
OutputStream out = accept.getOutputStream();
//向客户端发送数据,如果等于拜拜,则退出
while (true) {
System.out.println("【你对他说】:");
String content = scanner.next();
out.write((content + "\r\n").getBytes());
if ("拜拜".equals(content)) {
System.exit(0);
}
}
}
}
注意:先启动服务端