A ver si por favor alguien me puede ayudar con este problema que tengo con cliente/servidor tcp en java.
La clase cliente que tengo es asi y no la puedo mpdificar:
Código:
class SimpleTCPClient {
public static void main(String argv[]) throws Exception {
String sentence;
String modifiedSentence;
BufferedReader inFromUser = new BufferedReader( new InputStreamReader(System.in));
Socket clientSocket = new Socket("localhost", 8080);
DataOutputStream outToServer = new DataOutputStream( clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader( new InputStreamReader(clientSocket.getInputStream()));
sentence = inFromUser.readLine();
outToServer.writeBytes(sentence + '\n');
modifiedSentence = inFromServer.readLine();
System.out.println("FROM SERVER: " + modifiedSentence);
clientSocket.close();
} // main
} // SimpleTCPClient class
El servidor lo forman dos clases, una multihilo que hace uso de la siguiente clase para atender los procesos de cliente:
Código:
public class WorkerRunnable implements Runnable{
protected Socket clientSocket = null;
protected String serverText = null;
public WorkerRunnable(Socket clientSocket,String serverText)
{
this.clientSocket = clientSocket;
this.serverText = serverText; }
// WorkerRunnable
public void run() {
try {
InputStream input = clientSocket.getInputStream();
OutputStream output = clientSocket.getOutputStream();
long time = System.currentTimeMillis();
output.write(("HTTP/1.1 200 OK\n\nWorkerRunnable: " + this.serverText + " - " + time + " ").getBytes());
output.close(); input.close(); System.out.println("Request processed: " + time);
} catch (IOException e) { e.printStackTrace();
//report exception somewhere
}
} // run
} // WorkerRunnable
Pues tengo que modificar esta clase para que su comportamiento sea complementario al del cliente, que lea la cadena de texto enviada por el cliente, y como respuesta reenvíe la cadena leída precedida de la palabra ECHO.
Esta que pongo es la que funciona para ver retardos si como cliente uso el navegador web.
Alguien me puede ayudar por favor?
Muchisimas gracias.