//server  
      ServerSocket serverSocket = null;
        try {
            serverSocket = new ServerSocket(4444);
        } catch (IOException e) {
            System.err.println("Could not listen on port: 4444.");
            System.exit(1);
        }        Socket clientSocket = null;
        try {
            clientSocket = serverSocket.accept();
        } catch (IOException e) {
            System.err.println("Accept failed.");
            System.exit(1);
        }        PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(
new InputStreamReader(
clientSocket.getInputStream()));
        String inputLine, outputLine;        outputLine = "send message to client";
        out.println(outputLine);        while ((inputLine = in.readLine()) != null) {
             //put your code here
             out.println(outputLine);
             if (outputLine.equals("Bye."))
                break;
        }
        out.close();
        in.close();
        clientSocket.close();
        serverSocket.close();
    }

解决方案 »

  1.   

    //clientimport java.io.*;
    import java.net.*;public class KnockKnockClient {
        public static void main(String[] args) throws IOException {        Socket kkSocket = null;
            PrintWriter out = null;
            BufferedReader in = null;        try {
                kkSocket = new Socket("taranis", 4444);
                out = new PrintWriter(kkSocket.getOutputStream(), true);
                in = new BufferedReader(new InputStreamReader(kkSocket.getInputStream()));
            } catch (UnknownHostException e) {
                System.err.println("Don't know about host: taranis.");
                System.exit(1);
            } catch (IOException e) {
                System.err.println("Couldn't get I/O for the connection to: taranis.");
                System.exit(1);
            }        BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
            String fromServer;
            String fromUser;        while ((fromServer = in.readLine()) != null) {
                System.out.println("Server: " + fromServer);
                if (fromServer.equals("Bye."))
                    break;
        
                fromUser = stdIn.readLine();
        if (fromUser != null) {
                    System.out.println("Client: " + fromUser);
                    out.println(fromUser);
        }
            }        out.close();
            in.close();
            stdIn.close();
            kkSocket.close();
        }
    }
      

  2.   

    你用的是
    BufferedReader in = null;如果要求Object流记住你的对象最好系列化取出(YourClassName) Object....