服务器端
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class EchoServer {
public static void main(String[] args) throws IOException {
System.out.println("=============开启了服务器端程序============");
ServerSocket serverSocket = new ServerSocket(8000);
int index = 0;
while (true) {
Socket socket = serverSocket.accept();
System.out.println("开起了第"+index+"个连接");
System.out.println("server : " + socket.getInetAddress() + " : " + socket.getPort());
BufferedReader bf = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (true) {
String readContent = bf.readLine();
System.out.println("server : " + readContent);// 此处是 println,不能是print
PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()), true);
pw.println("echo : " + readContent);
if ("exit".equals(readContent)) {
if (socket != null) {
socket.close();
}
}
}
}
}
}
客户端程序
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class EchoClient {
public static void main(String[] args) throws UnknownHostException, IOException {
Socket socket = new Socket("localhost", 8000);
PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()), true);
BufferedReader brS = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (true) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("输入:");
String readContent = "";
while (true) {
readContent = br.readLine();
System.out.println("client : " + readContent);
pw.println(readContent);// 此处是 println,不能是print
System.out.println(brS.readLine());
if ("exit".equals(readContent)) {
if (socket != null) {
socket.close();
break;
}
}
}
}
}
}