packagecn.qianfeng.kaoti03;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.PrintWriter;importjava.net.ServerSocket;importjava.net.Socket;class SendServerSocket implementsRunnable {privateSocket s;publicSendServerSocket(Socket s) {super();this.s =s;
}
@Overridepublic voidrun() {//TODO Auto-generated method stub
BufferedReader br = null;
PrintWriter ps= null;try{while (true) {
br= new BufferedReader(newInputStreamReader(System.in));
ps= new PrintWriter(s.getOutputStream(), true);
String line=br.readLine();if (line != null) {
ps.println("B:" +line);
}
}
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}finally{if (br != null) {try{
br.close();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}class ReceiveServerSocket implementsRunnable {privateSocket s;publicReceiveServerSocket(Socket s) {super();this.s =s;
}
@Overridepublic voidrun() {//TODO Auto-generated method stub
BufferedReader br = null;try{while (true) {
br= new BufferedReader(newInputStreamReader(
s.getInputStream()));
String line=br.readLine();if (line != null) {
System.out.println(line);
}
}
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}finally{if (br != null) {try{
br.close();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}public classTestServerSocket {public static voidmain(String[] args) {try{
ServerSocket ss= new ServerSocket(8888);
Socket s=ss.accept();
System.out.println(s.getInetAddress().getHostName()+ ".....connected");new Thread(newSendServerSocket(s)).start();new Thread(newReceiveServerSocket(s)).start();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
}