packagecom.zr.javase0825;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.net.ServerSocket;importjava.net.Socket;importjava.util.Scanner;public class User1 implementsRunnable {//String pdd="read";
Socket sock;//Socket sockC;
public static voidmain(String[] args) {
User1 u1=newUser1();
ServerSocket ssock;try{
ssock= new ServerSocket(1234);
u1.sock=ssock.accept();//u1.sockC=new Socket("127.0.0.1",5678);
Thread t1=new Thread(u1,"read");
Thread t2=new Thread(u1,"write");
t1.start();
t2.start();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}public voidread(Socket sock){try{
BufferedReader buff=new BufferedReader(newInputStreamReader(sock.getInputStream()));
System.out.println("user2:"+buff.readLine());
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}public voidwrite(Socket sockC){try{
BufferedWriter buff=new BufferedWriter(newOutputStreamWriter(sockC.getOutputStream()));
BufferedReader bf=new BufferedReader(newInputStreamReader(System.in));
String str=bf.readLine();
buff.write(str+"\n");
buff.flush();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
@Overridepublic voidrun() {if(Thread.currentThread().getName().equals("read"))while(true)
read(sock);else
while(true)
write(sock);
}
}