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 originalimport java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Servidor {
public static void main(String[] args) {
ServerSocket s; //Socket servidor
Socket sc; //Socket cliente
PrintStream p; //Canal de escritura
BufferedReader b; //Canal de Lectura
String mensaje;
try {
//Creo el socket server
s = new ServerSocket(8888);
//Invoco el metodo accept del socket servidor, me devuelve una referencia al socket cliente
sc = s.accept();
//Obtengo una referencia a los canales de escritura y lectura del socket cliente
b = new BufferedReader( new InputStreamReader ( sc.getInputStream() ) );
p = new PrintStream ( sc.getOutputStream() );
while ( true ) {
//Leo lo que escribio el socket cliente en el canal de lectura
mensaje = b.readLine();
System.out.println(mensaje);
//Escribo en canal de escritura el mismo mensaje recibido
p.println(mensaje);
if ( mensaje.equals("by")) {
break;
}
}
p.close();
b.close();
sc.close();
s.close();
} catch (IOException e) {
System.out.println("No puedo crear el socket");
}
}
}
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