/**服务端**/
import java.io.BufferedReader;
import java.io.BufferedWriter;
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 Server {
public static final int PORT = 8080;
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(PORT);
System.out.println("Started " + server);
try {
Socket client = server.accept();
try {
System.out.println("Connection accepted: " + client);
BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(client.getOutputStream())),true);
while(true){
String str = reader.readLine();
if(str.equals("END"))break;
System.out.println("Echoing:" + str);
writer.println(str);
}
} finally{
System.out.println("closing...");
client.close();
}
} finally{
server.close();
}
}
}
/**客户端**/
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws IOException {
InetAddress address = InetAddress.getByName(null);
System.out.println("address:" + address);
Socket client = new Socket(address,JobServer.PORT);
try{
System.out.println("socket:" + client);
BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter writer = new PrintWriter(new BufferedOutputStream(client.getOutputStream()),true);
for(int i = 0; i < 10 ; i++){
writer.println("howdy " + i);
String str = reader.readLine();
System.out.println(str);
}
writer.println("END");
}finally{
System.out.println("closing...");
client.close();
}
}
}