C sharp - Montar tramas de bytes

 
Vista:

Montar tramas de bytes

Publicado por Paco (1 intervención) el 09/05/2007 12:06:41
Hola,

Necesito montar una trama de la forma OpCode(2bytes) + lenght(2 bytes) + DATA(n bytes).
El caso e que soy nuevo en C# y no sé cómo se montan tramas de bytes, o quizás deben ser char para pasar por el socket. Alguien me echa una mano??

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Montar tramas de bytes

Publicado por Yamil Bracho (1164 intervenciones) el 09/05/2007 19:08:53
Crea un arreglo de bytes y les colocas los valores y puedes enviarlas como arreglos de bytes por el esocket o puedes crear un string a partir del arreglo de bytes usando Encoding.ASCII.GetString(arreglo, 0, arreglo.length)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Montar tramas de bytes

Publicado por Paco (1 intervención) el 10/05/2007 09:05:35
Gracias, pero por ejemplo, como coloco un int igual a 345 en el arreglo??

saludos

Paco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Montar tramas de bytes

Publicado por Yamil Bracho (1164 intervenciones) el 10/05/2007 17:55:57
Uf disculpa Paco no lei la pregunta en forma detallada.
Si es un arreglo de bytes sabes que vas desde 0 a 255, por lo que necesitas "castear" el entero. Seria algo como:

TramaArray[0] = (byte) 345;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Una duda Yamil

Publicado por x (28 intervenciones) el 11/05/2007 14:17:43
Hoola Yamil,

yo no se mucho de bytes tampoco, aunque si he trabajado en ocaciones con ellos pero no para fines como esos... si el byte es de 0 a 255 (2^8 o 256 valores), ¿no se pierde informacion? (o marca error, la verdad no recuerdo), lo podria teclear y verlo por mi, pero creo que tu explicaras mejor que eso,

Saludos y Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Una duda Yamil

Publicado por Yamil Bracho (1164 intervenciones) el 11/05/2007 19:21:46
Si, puedes perder informacion. La idea es que representes cada valor en tu trama como un string y de alli lo lleves a bytes. Por ejemplo, si necesitas enviar una trama con los valores 115, 431, "Test", 100.25 haces algo como

StringBuilder sb = new StringBuilder(512);
sb.Append(115).Append(",");
sb.Append(431).Append(",");
sb.Append("Test").Append(",");
sb.Append(100.25)

string trama = sb.toString();

para llevarla a bytes haces

byte [] array = Encoding.Default.GetBytes(trama);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Una duda Yamil

Publicado por x (28 intervenciones) el 12/05/2007 15:47:38
OK, creo que ahora si entendi, Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar