[ Foro de C# ]

Envio de bitmap por TCP/IP C#

19-Nov-2014 22:30
Invitado (Lucy L)
4 Respuestas

Hola, estoy haciendo un laberinto con dos jugadores y un servidor, en la computadora del servidor se genera un laberinto de forma aleatoria que es un bitmap y éste debe ser enviado por TCP/IP a las otras dos computadoras que son servidores, he ahí el problema, ¿Cómo puedo transferir ese bitmap a las otras computadoras sin que la imagen llegue pixelada?  


21-Nov-2014 09:36
Nacho Cabanes (+31)

El protocolo TCP es un protocolo fiable, de modo que lo que envíes por TCP debería llevar tal cual se envió. Si tu imagen llega pixelada, el problema debe estar en otro punto.


23-Nov-2014 06:43
Invitado (Lucy L)

Muchas gracias por tu respuesta. El problema está en el formato en que lo envío, como estoy usando TCP, entonces lo mando por los sockets, y al parecer no puedo enviar un bitmap directamente sino que se envían strings de bytes.

Digamos que creo un socket llamdo socket1 y deseo enviar desde el servidor al cliente, entonces cual sería la forma más efectiva de convertir el bitmap digamos bmp1 a un array de strings y que cuando llegue al cliente se convierta nuevamente a bitmap?


25-Nov-2014 10:09
Nacho Cabanes (+31)

No necesitas que sean strings, deberías poder enviar un flujo de bytes. Si aun así quieres enviar strings, existen formas de convertir una secuencia de bytes en algo "legible", como Uuencode y Binhex.  Puedes leer más sobre ellas aquí:

http://en.wikipedia.org/wiki/Binary-to-text_encoding


04-Dec-2014 23:38
Invitado (Lucy L)

Hola nuevamente, muchas gracias, la razón por la cual no se trasmitía bien la imagen era por el tamaño del buffer, que era muy pequeño a comparación del tamaño del bitmap, y sí, se estaba enviando como un array de bytes. Muchas gracias.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)