
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
/**
* 定义消息处理线程
*/
class Msg extends Thread {
private Socket socket;
public Msg(Socket socket){
this.socket=socket;
}
@Override
public void run() {
this.msg();
}
private void msg(){
BufferedReader bufferedReader = null;
PrintWriter printWriter = null;
try{
bufferedReader= new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
printWriter= new PrintWriter(this.socket.getOutputStream());
while(true){
printWriter.println(bufferedReader.readLine()+" [ok]");
printWriter.flush();
}
}catch (Exception e){
try {
System.out.println(this.socket.getInputStream()+"断线了");
} catch (IOException ex) {
ex.printStackTrace();
}finally {
if(bufferedReader!=null){
try {
bufferedReader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
if(printWriter!=null){
printWriter.close();
}
}
}
}
}
public class EchoServer {
public static void main(String[] args) {
ServerSocket serverSocket = null;
try{
System.out.println("服务器启动,开始监听。。。。");
serverSocket= new ServerSocket(8888);
while(true){
Socket socket = serverSocket.accept();
new Msg(socket).start();
System.out.println("连接成功!!");
}
}catch (Exception e){
e.printStackTrace();
}finally {
if(serverSocket!=null){
try {
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}