La idea es que cuando el cliente se conecte al servidor, el servidor lo salude.
Y luego, si el cliente le manda datos determinados, en base a esos datos el servidor responde de distinta manera.
Digamos algo asi como el dialogo entre cliente y servidor mediante un protocolo.
Bueno, lo que logre hacer es que el cliente se conecte al servidor y el servidor lo salude, pero no entiendo porque no funciona cuando le mando el mensaje "como estas", el servidor me deberia responder "bien", y sin embargo no recibo respuestas. (la idea es que funcione no solo cuando le mando este mensaje al principio sino en cualquier momento que se lo mande mientras estoy conectado)
Les muestro el codigo:
Servidor
Código:
try { final int port= 43332; ServerSocket servidor = new ServerSocket( port); while( true ) { Socket cliente= servidor.accept(); PrintWriter mensaje = new PrintWriter( cliente.getOutputStream() ); mensaje.println( "Hola" ); InputStream entrada = cliente.getInputStream(); //Leo lo que me dijo String csays = entrada.toString(); if(csays == "como estas") { escritor.println( "Bien" ); } escritor.close(); cliente.close(); } } catch (IOException e) { }
Y el del cliente es este:
Código:
Segun esto, me deberia responder todo junto: Hola y debajo Bien.try { Socket skCliente = new Socket( "127.0.0.1" , 43332 ); DataOutputStream salida1 = new DataOutputStream(skCliente.getOutputStream()); String mensaje= "como estas\n"; salida1.write(mensaje.getBytes()); int leido = 0; byte datosBytes[]=new byte[256]; DataInputStream entrada = new DataInputStream(skCliente.getInputStream()); System.out.println ("_______________________________________________"); while ((leido=entrada.read(datosBytes,0,256))!=-1) { if (leido > 0) System.out.println (new String(datosBytes,0,(leido-1))); } } catch (IOException e) { }
OK, Solamente me responde Hola.
Alguien sabe porque?
PD: El entrada.toString() esta completamente mal :P estaba probando como detectar la info que me mando el cliente.... pero asi no es.
La idea es, como dije antes, cada vez que cualquiera se conecte al servidor y mande "como estas", responda "bien"