Programación General => C/C++ => Mensaje iniciado por: Quity_Ibias en Domingo 27 de Enero de 2008, 16:14
Título: Problemas Con Sockets Udp.
Publicado por: Quity_Ibias en Domingo 27 de Enero de 2008, 16:14
Hola!
Estoy programando una aplicación que utiliza sockets udp. Necesito enviar una estructura que yo misma he declarado.
struct Datos_Componentes_Conexion {
int Estado; int Puerto_Origen; int Puerto_Remoto; int Direccion_Origen; int Direccion_Remota; int RST; Componentes_TCB *TCB; bool Pasivo; int Puerto_Modificar; int Puerto_Inicio_Conexion;
};
Para enviar necesito utilizar la funcion sendto, pero está función envía un char*, asi que no se como hacer para enviarlo. ¿Hay alguna forma de convertir esa estructura en un char *?. ¿Podría declarar un Datos_Componenes_Conexion *dc y enviar dicho puntero?
Muchas graciasss Si alguien me pudiese mostrar un ejemplo se lo agradecería.
Título: Re: Problemas Con Sockets Udp.
Publicado por: Eternal Idol en Domingo 27 de Enero de 2008, 16:31
Tenes que enviar bytes y a sendto pasarle como parametro un puntero a tu estructura. En este caso solo tenes un inconveniente TCB (Componentes_TCB *TCB;) es un puntero y por lo tanto no tiene ningun sentido en el programa que reciba esta estructura ... o cambias la estructura o envias otra cosa.
Sería correcto, o me daría problemas al recibirlos?, tambien los recibo con Datos_Componentes_conexion *dc.
Gracias, de todas formas.
Título: Re: Problemas Con Sockets Udp.
Publicado por: Eternal Idol en Domingo 27 de Enero de 2008, 17:22
Es lo mismo (aunque en tu caso tenes que usar memoria dinamica), en ambos casos necesitas el casting [(char *)] excepto que siendo dc un puntero cuando hagas sizeof te devolvera 4, hace sizeof del nombre de la estructura o de *dc.