package midi.socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; public class EchoServer14 ... { /** *//** * @param args */ public static void main(String[] args) ...{ Socket socket = null; try ...{ ServerSocket serverSocket = new ServerSocket(8189); System.out.println("Server will start..."); socket = serverSocket.accept(); System.out.println("Server listening at 8189"); InputStream inStream = socket.getInputStream(); OutputStream outStream = socket.getOutputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(inStream)); PrintWriter out = new PrintWriter(outStream); out.write("欢迎光临迷笛的 Echo 服务器 "); out.write("退出服务请输入 BYE "); out.flush(); boolean done = false; String line = null; while(!done && (line=br.readLine())!=null) ...{ out.write("Echo:"+line+" "); out.write("请输入命令... "); out.flush(); if(line.trim().equals("BYE")) done=true; } // 下面是使用jdk1.5中的Scanner /**//* Scanner scanner = new Scanner(inStream); PrintWriter out = new PrintWriter(outStream); out.write("欢迎光临迷笛的 Echo 服务器 "); out.write("退出服务请输入 BYE "); out.flush(); boolean done = false; while(!done && scanner.hasNextLine()) { String line = scanner.nextLine(); out.write("Echo:"+line+" "); out.write("请输入命令... "); out.flush(); if(line.trim().equals("BYE")) done=true; } * */ } catch (IOException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } finally ...{ try ...{ socket.close(); } catch (IOException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } } }}