Hola a todos!! Mi problema es que necesito establecer una conexion a traves de sockets, y que el cliente envie cadenas al servidor. No se como establecer que el servidor permanezca activo hasta un cierto evento y no que al recibir la primera cadena ya se cierre. Ademas en este servidor existe un problema con los if porque hasta que no envio 2 veces play no responde, 3 veces pause, 4 veces record.. ¿Sabeis cual es el problema? El codigo del cliente no lo adjunto porque es largo y creo que los problemas se centran en el servidor. Gracias
public class mainServer {
public static void main(String[] args) { // TODO Auto-generated method stub
Hola a todos!!
Mi problema es que necesito establecer una conexion a traves de sockets, y que el cliente envie cadenas al servidor.
No se como establecer que el servidor permanezca activo hasta un cierto evento y no que al recibir la primera cadena ya se cierre.
Ademas en este servidor existe un problema con los if porque hasta que no envio 2 veces play no responde, 3 veces pause, 4 veces record.. ¿Sabeis cual es el problema?
El codigo del cliente no lo adjunto porque es largo y creo que los problemas se centran en el servidor.
Gracias
public class mainServer {
public static void main(String[] args) {
// TODO Auto-generated method stub
miServidor servidor= new miServidor();
servidor.crearServidor();
servidor.crearSocket();
servidor.recibeCadena();
servidor.cerrandoSocket();
}
}
public class miServidor {
static ServerSocket miServidor;
static Socket socketServicio ;// object socket que acepta clientes
static DataInputStream entrada;//entrada informacion del cliente
static DataOutputStream salida;
void crearServidor(){
try{
System.out.println("Creando Socket....");
miServidor= new ServerSocket(8787);
}
catch(IOException e){
System.out.println(e);
}
}
void crearSocket(){
try{
System.out.println("Aceptando cliente");
socketServicio=miServidor.accept();
}
catch (IOException e){
System.out.println(e);
}
}
void recibeCadena(){
try{
System.out.println("Preparando entrada");
entrada =new DataInputStream(socketServicio.getInputStream());
if (entrada.readUTF().equals("play") )
{
System.out.println("Se ha pulsado " +entrada.readUTF());
}
else if(entrada.readUTF().equals("pause") ){
System.out.println("Se ha pulsado " +entrada.readUTF());
}
else if (entrada.readUTF().equals("record") ){
System.out.println("Se ha pulsado " +entrada.readUTF());
}
else if (entrada.readUTF().equals("salida") ){
System.out.println("Se ha pulsado " +entrada.readUTF());
}
}
catch(IOException e){
System.out.println(e);
}
}
void enviandoCadena(){
try{
System.out.println("Preparando para enviar");
salida=new DataOutputStream(socketServicio.getOutputStream());
System.out.println("Enviando la cadena ");
salida.writeUTF("Esto te lo envia el servidor!!!!!!!!!!!!");
}
catch(IOException e){
System.out.println(e);
}
}
void cerrandoSocket(){
System.out.println("Cerrando todo");
try{
socketServicio.close();
miServidor.close();
}
catch(IOException e){
System.out.println(e);
}
}
}