Socket serveur qui attend les message provenant client à lire

J'ai le texte suivant serveur socket en java,

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class MiddleSocket {
    private ServerSocket middleman;
    private int port = 1027;
    private Socket client;


    protected void createSocketServer()
    {
        try
        {
            middleman = new ServerSocket(port);
            client = middleman.accept();
            middleman.close();
            PrintWriter out = new PrintWriter(client.getOutputStream(),true);
            BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
            BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
            while(true)
            {
                System.out.println("echo: " + in.readLine());
                out.println("test");
            }
        }
        catch(IOException e)
        {
            System.out.println(e);
        }
    }

}

Il fonctionne correctement dans la façon dont il lit à partir du client et tout et tout. Cependant, je veux que le serveur socket pour seulement essayer et de le lire quand il y a un message de la part du client depuis dans la boucle, on continue la lecture, même lorsque aucun message de la part du client sont reçus cette fonction génère un tas de

echo: null

Est-il un mécanisme de court d'un wait() d'avoir la boucle while de savoir tout simplement s'asseoir et d'attendre, et puis le feu lorsqu'un message est envoyé par le client à lire ce message, et une fois que le message est lu, et une réponse est envoyée, il vous suffira ensuite de ralenti jusqu'à ce que le message suivant de la part du client est reçu?

OriginalL'auteur jgr208 | 2014-10-20