import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerThread{
private ServerSocket ss ;
private Socket s ;
private BufferedReader in ;
private BufferedReader sys ;
private PrintWriter out ;
public static int PORT = 10000 ;
public ServerThread(){
try{
ss = new ServerSocket(PORT) ;
s = ss.accept() ;
in = new BufferedReader(new InputStreamReader(s.getInputStream())) ;
out = new PrintWriter(s.getOutputStream());
sys = new BufferedReader(new InputStreamReader(System.in)) ;
}catch(Exception ex){
ex.printStackTrace() ;
}
}
public void read()throws Exception{
while(true){
String str = in.readLine() ;
System.out.println("客户端回复:\n"+str) ;
if(str.equals("end")){
break ;
}
}
}
public void write()throws Exception{
while(true){
String str = sys.readLine() ;
out.println(str) ;
out.flush() ;
}
}
public static void main(String []args)throws Exception{
ServerThread s = new ServerThread() ;
new ReadThread(s).start() ;
new WriteThread(s).start() ;
}
}
class WriteThread extends Thread{
private ServerThread server ;
public WriteThread(ServerThread server){
this.server = server ;
}
public void run(){
try{
server.write() ;
}catch(Exception ex){
ex.printStackTrace() ;
}
}
}
class ReadThread extends Thread{
private ServerThread server ;
public ReadThread(ServerThread server){
this.server = server ;
}
public void run(){
try{
server.read() ;
}catch(Exception ex){
ex.printStackTrace() ;
}
}
}