• Martes 12 de Noviembre de 2024, 21:08

Autor Tema:  Descomponer Byte En Java  (Leído 2289 veces)

mparera

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Descomponer Byte En Java
« en: Lunes 6 de Noviembre de 2006, 18:10 »
0
Hola, tengo una práctica de java y quisiera mejorar la presentación, ya que me pasa una cosa....

La practica se trata de una conexión mediante sockets en formato UDP entre un cliente y un servidor.

Todo me funciona a la perficeción,

Creamos un objeto

      byte[] mensaje_bytes = new byte[256];

para pasar infomación de un cliente a un servidor. Este servidor convierte el texto que recibe a mayúsculas y lo vuelve a enviar al cliente.

El cliente muestra por pantalla el mensaje recibido por el servidor (lo enviado pero en mayúsculas).

Por ejemplo, envio hola y recibo HOLA, pero no sólo eso, recibo

HOLA############################################

Es decir los 4 caracteres que yo le envio y hasta los 256 que tiene reservado.

¿Como puedo hacer para que sólo se muestre por pantalla el mensaje HOLA y se descarte todos los caracteres nulos o vacios?

Muchas grácias.

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Descomponer Byte En Java
« Respuesta #1 en: Martes 7 de Noviembre de 2006, 09:22 »
0
Hola...

Es bastante más sencillo utilizar una estructura dinámica del tamaño adecuado (o dejar que la JVM gestione el tamaño).

Echa un vistazo a las clases ByteArrayInputStream y ByteArrayOutputStream.
Con el método getBytes() conseguirás un array de byte del tamaño adecuado.

También puedes pasarlo a cadena y utilizar el método trim() o algún otro para truncar la cadena.

Si escribes cómo recibes los datos del socket, podremos especificare más.





Un saludo




Silverfox

mparera

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Descomponer Byte En Java
« Respuesta #2 en: Miércoles 8 de Noviembre de 2006, 09:30 »
0
Hola,

Mira te paso el código inicial que nos han dado con el enunciado. Aquí puedes observar que cuando el cliente envia un dato al servidor, este lo muestra por pantalla.

Tenemos que partir desde este enunciado para hacer las modificaciones.

Teneis que ejecutar primero el servidor y luego el cliente. El cliente va mandado mensajes al servidor y este los muestra por pantalla. Todo se hace así hasta que el cliente envia fin y se sale.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Descomponer Byte En Java
« Respuesta #3 en: Miércoles 8 de Noviembre de 2006, 13:10 »
0
Hola...

He estado mirando tu código y te comento cómo puedes hacerlo:

Opciones:

String.trim(): para quitar los espacios
String(byte[] bytes, int offset, int length) : con lenght = DatagramPacket.getLength()



Tú verás cuál te gusta más.



Un saludo.




Silverfox

mparera

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Descomponer Byte En Java
« Respuesta #4 en: Miércoles 8 de Noviembre de 2006, 14:39 »
0
Ok ahora he provado con el trim y funciona a la perfección

grácias.