Datos entre dos PC (Cliente - Servidor) usuando puertos

xrendarae
19 de Noviembre del 2007
Hola que tal, tengo una duda sobre el siguiente código ya puedo establecer la comunicación entre los dos computadores (Cliente - Servidor), pero para que trama sea mostrada en el servidor es necesario oprimir el Enter en el cliente, la idea es eliminar esta acción que me muestre lo ingresado por el cliente sin oprimir el Enter el código es;

import java.util.*;
import java.io.*;
import java.net.*;

public class ServerTest {

final static int SERVER_PORT = 44040; // puerto de escucha de nuestro servidor

public static void main (String args[]) {
Server server;
String clientRequest;
BufferedReader reader;
PrintWriter writer;

// creamos el servidor y los canales de entrada y salida
server = new Server (SERVER_PORT);
reader = new BufferedReader (new InputStreamReader (server.in));
writer = new PrintWriter (new OutputStreamWriter (server.out), true);


// En cuanto se establece una conexión por parte del cliente, enviamos un saludo
writer.println ("Bienvenido al Servidor: " + new Date() + "/n");

while (true) {
try {
// leemos del canal de entrada la petición del cliente
//clientRequest = reader.readLine();

// Sacamos por pantalla la peticion del cliente

while (reader != null)
{
System.out.println (reader.readLine());
}

} catch (IOException e) {
System.out.println ("Excepción en el servidor " + e);
System.exit(0);
}
}
}
}

class Server {
private ServerSocket server;
private Socket socket;

public InputStream in;
public OutputStream out;

public Server (int port) {
try {
server = new ServerSocket (port);
System.out.println ("Servidor Java Activo! n");
System.out.println(""+server+"n");
// Espera suspendido hasta que un cliente establece una conexión
socket = server.accept();
in = socket.getInputStream();
out = socket.getOutputStream();
} catch (IOException e) {
System.out.println ("Excepción en el constructor server: " + e);
}
}
}


Muchas Gracias por tu ayuda.