sockets

Ctesias
05 de Abril del 2005
Bien debo realizar un servidor ke reenvie el string ke le pasa al cliente ke lo ha enviado
o sea un servidor echo:

Esto es lo importante del servidor:

try{

ServerSocket skServer = new ServerSocket(port);
System.out.println("Escuxo por el purto " + port);
Socket skClient = skServer.accept();


BufferedReader entrada = new BufferedReader( new InputStreamReader(skClient.getInputStream() ) );


PrintWriter salida = new PrintWriter( new OutputStreamWriter(skClient.getOutputStream() ),true );

// Enviamos una línea de texto al servidor
salida.println(entrada);

System.out.println( entrada.readLine() );

}catch( Exception e ) {
System.out.println( e.getMessage() );}


Esto es lo importante del clienter:

String frase="";

try{
Socket skclient = new Socket("localhost",port);




BufferedReader fluxe= new BufferedReader(new InputStreamReader(System.in));

while(frase != "*"){
frase = fluxe.readLine();


PrintWriter salida = new PrintWriter( new OutputStreamWriter(skclient.getOutputStream() ),true );




// Enviamos una línea de texto al servidor
salida.println(frase);
BufferedReader entrada = new BufferedReader( new InputStreamReader(skclient.getInputStream() ) );
System.out.println(entrada.readLine() );


}

Se ke falta cerra los sockets etc....
El problema es ke el servidor recibe perfectamente el string , pero no lo devuelve

nicokiki
05 de Abril del 2005
Hola!!!!!!

Hacele un salida.flush() o algo asi no me acuerdo bien

Salu2!!!!!!!!!

schnabel
05 de Abril del 2005
Hola

No manejo bien socket, pero lo que entendi del codigo es que quieres mandar un String pero estas mandando un BufferedReader y lo que tienes que hacer es mandar salida.println(entrada.readLine());

espero que te sirva

hasta pronto