Foros del Web » Programación para mayores de 30 ;) » Java »

Crear un socket servidor sin respuesta al cliente

Estas en el tema de Crear un socket servidor sin respuesta al cliente en el foro de Java en Foros del Web. Buen día. Disculpen las molestias, estoy aprendiendo a programar en Java, pero a penas voy en lo básico y por un proyecto de la escuela, ...
  #1 (permalink)  
Antiguo 11/06/2012, 17:27
 
Fecha de Ingreso: junio-2012
Mensajes: 35
Antigüedad: 11 años, 10 meses
Puntos: 4
Crear un socket servidor sin respuesta al cliente

Buen día. Disculpen las molestias, estoy aprendiendo a programar en Java, pero a penas voy en lo básico y por un proyecto de la escuela, necesito trabajar con un socket servidor. He visto algunos ejemplos en internet pero no los he podido acomodar amis necesidades, ya que solo necesito escuchar un puerto y no responderle al cliente (que es un dispositivo que manda informacion constantemente). Tengo el siguiente ejemplo:

Código Javascript:
Ver original
  1. import java.io.IOException;
  2. import java.io.InputStreamReader;
  3. import java.io.PrintStream;
  4. import java.net.ServerSocket;
  5. import java.net.Socket;
  6. public class Servidor {
  7.  
  8. public static void main(String[] args) {
  9.  
  10. ServerSocket s; //Socket servidor
  11. Socket sc; //Socket cliente
  12.  
  13. PrintStream p; //Canal de escritura
  14. BufferedReader b; //Canal de Lectura
  15.  
  16. String mensaje;
  17.  
  18. try {
  19. //Creo el socket server
  20. s = new ServerSocket(8888);
  21.  
  22. //Invoco el metodo accept del socket servidor, me devuelve una referencia al socket cliente
  23. sc = s.accept();
  24.  
  25. //Obtengo una referencia a los canales de escritura y lectura del socket cliente
  26. b = new BufferedReader( new InputStreamReader ( sc.getInputStream() ) );
  27. p = new PrintStream ( sc.getOutputStream() );
  28.  
  29. while ( true ) {
  30. //Leo lo que escribio el socket cliente en el canal de lectura
  31. mensaje = b.readLine();
  32. System.out.println(mensaje);
  33.  
  34. //Escribo en canal de escritura el mismo mensaje recibido
  35. p.println(mensaje);
  36.  
  37. if ( mensaje.equals("by")) {
  38. break;
  39. }
  40. }
  41.  
  42. p.close();
  43. b.close();
  44.  
  45. sc.close();
  46. s.close();
  47. } catch (IOException e) {
  48. System.out.println("No puedo crear el socket");
  49. }
  50. }
  51.  
  52. }

Esta bien explicado, el problema es que manda una respuesta y me des-configura el dispositivo. Lo unico que necesito es escuchar sin responder y sin que se cierre el programa. He tratado de modificarlo para que no escriba respuesta, pero deja de funcionar y no recibe nada. Espero que alguien pueda ayudarme. Gracias

Etiquetas: cliente, jar, programa, respuesta, servidor, socket, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:42.