SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: nix2008 en Miércoles 12 de Noviembre de 2008, 10:16
-
Hola!
Estoy programando una aplicación en C# que utiliza sockets udp. Necesito enviar una estructura que yo misma he declarado.
public struct FromData
{
public bool bConnection;
public int iValorDem;
......
} data_escac;
Para enviar necesito utilizar la funcion sendTo, lo hago de la siguiente manera:
this.data_escac = data_escac;
byte[] data = new byte[1024];
data = Encoding.GetBytes(this.data_escac);
server.SendTo(data, data.Length, SocketFlags.None, ip);
pero la función SendTo envía un char[], asi que no se como hacer para enviarlo. ¿Hay alguna forma de convertir esa estructura en un char []? ¿Si se pudiera hacer utilizando punteros, como se haria?.
Muchas graciasss
Si alguien me pudiese mostrar un ejemplo se lo agradecería.
-
conseguiste enviar estructuras por sockets??? como lo hiciste?
gracias...
-
ya lo he conseguido!
public struct DataSocket
{
public int function;
public int n_rutas;
public char[] ruta_conf;
};
public int SendData()
{
DataSocket ds1 = new DataSocket();
ds1.function = 1;
ds1.n_rutas = 2;
ds1.ruta_conf = new char[300];
ds1.ruta_conf = "c:\cacatua".ToCharArray();
sendSocket.Connect(Ep);
MemoryStream buffer = new MemoryStream(1023);
BinaryWriter escritor = new BinaryWriter(buffer);
escritor.Write((int)ds1.function);
escritor.Write((int)ds1.n_rutas);
escritor.Write(ds1.ruta_conf);
sendSocket.Send(buffer.GetBuffer());
return 0;
}
-
Muchas gracias :good: