首先,来看一个标准实现(参考Java编程思想第四版):
Server端:
ServerSocket serverSocket = new ServerSocket(7777);
try {
Socket socket = serverSocket.accept();
try{
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
while(true){
String string = br.readLine();
if ("END".equals(string)){
break;
}
System.out.println("echoing " + string);
pw.println(string);
}
}finally{
System.out.println("closing");
socket.close();
}
}finally{
serverSocket.close();
}
Client端:
InetAddress addr = InetAddress.getByName(null);
Socket socket = new Socket(addr, 7777);
try {
PrintWriter pw