import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(8888);
while (true) {
Socket socket = serverSocket.accept();
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
BufferedWriter bufferedWriter = new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream()));
String msg = null;
while ((msg = bufferedReader.readLine()) != null) {
System.out.println(socket.getPort() + ":" + msg);
bufferedWriter.write(msg + "\n");
bufferedWriter.flush();
if ("quit".equals(msg)) {
System.out.println(socket.getPort() + "断开连接");
break;
}
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (serverSocket != null) {
try {
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
Socket socket = null;
BufferedWriter bufferedWriter = null;
try {
socket = new Socket("127.0.0.1", 8888);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
bufferedWriter = new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream()));
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String msg = reader.readLine();
bufferedWriter.write(msg + "\n");
bufferedWriter.flush();
String line = bufferedReader.readLine();
System.out.println(line);
if ("quit".equals(msg)) {
break;
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bufferedWriter != null) {
try {
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}