Foro de elhacker.net

Programación => Java => Mensaje iniciado por: mapers en 7 Julio 2011, 19:50 pm



Título: MEtodo readInt()
Publicado por: mapers en 7 Julio 2011, 19:50 pm
Buenas señores desearia que me den una explicadita que hace este metodo en esta clase. Principalmente en el swich que es lo que ocurre ???
Código
  1. package Cliente;
  2. import java.io.*;
  3.  
  4. class threadCliente extends Thread{
  5.   DataInputStream entrada;
  6.   VentCliente vcli;
  7.   public threadCliente (DataInputStream entrada,VentCliente vcli) throws IOException{
  8.      this.entrada=entrada;
  9.      this.vcli=vcli;
  10.   }
  11.   public void run(){
  12.      String menser="",amigo="";
  13.      String colorFondo="";
  14.      String colorLetra="";
  15.      int opcion=0;
  16.      while(true){        
  17.         try{
  18.            opcion=entrada.readInt();
  19.            switch(opcion)
  20.            {
  21.               case 1://mensage enviado
  22.                  menser=entrada.readUTF();
  23.                  System.out.println("ECO del servidor:"+menser);
  24.                  vcli.mostrarMsg(menser);            
  25.                  break;
  26.               case 2://se agrega
  27.                  menser=entrada.readUTF();
  28.                  vcli.agregarUser(menser);                  
  29.                  break;
  30.               case 3://mensage de amigo
  31.                  amigo=entrada.readUTF();
  32.                  menser=entrada.readUTF();
  33.                  vcli.mensageAmigo(amigo,menser);
  34.                  System.out.println("ECO del servidor:"+menser);
  35.                  break;
  36.               case 4: //actualizar fondo y color de letra
  37.                  colorFondo=entrada.readUTF();
  38.                  colorLetra=entrada.readUTF();
  39.                  vcli.mesaje_cambio_Fondo(colorFondo,colorLetra);
  40.                  break;
  41.            }
  42.         }
  43.         catch (IOException e){
  44.            System.out.println("Error en la comunicacion");
  45.            break;
  46.         }
  47.      }
  48.      System.out.println("se desconecto el servidor");
  49.   }  
  50. }
  51.  

Gracias por todo


Título: Re: MEtodo readInt()
Publicado por: Valkyr en 7 Julio 2011, 20:28 pm
No he usado nunca la clase DataInputStream, pero vamos me imagino que lee un entero con el método readInt() del input que le pasas en el constructor. Luego en el switch lo que hace es: si el número leído (guardado en la variable opción) es 1 hace tal cosa, si es 2 hace otra cosa, si es 3 otra y si es 4 otra.

Si quieres una descripción más detallada dinos que hacen los métodos de la clase VentCliente.

El método readUTF() supongo que leerá una cadena de caracteres con codificación UTF valga la redundancia xD.

Saludos.

PD: Las variables menser parece que la usa para recibir el "mensaje" de datos, amigo cuando quieres agregar a un amigo (caso 3 del switch), colorFondo para leer el color de fondo nuevo al que quieres cambiar y colorLetra igual.