ESI-Bilbao / ASI-2018

Prácticas de ASI
3 stars 8 forks source link

Codigo colas de mensajes #6

Open Arraiz opened 6 years ago

Arraiz commented 6 years ago

Buenas Armando podrias pegar aqui el codigo referente a enviar un mensaje a una cola sin usar estructuras como has explicado hoy en clase?. Gracias

armando-ferro commented 6 years ago

Vale, te pongo la parte referente a como formar el mensaje. Espero que la estudies y te sirva para entender como manejar los punteros. De paso te recuerdo que os he propuesto realizar unas macros para poder escribir variables en el mensaje a partir de un puntero y que automaticamente se desplazase el puntero mn de referencia. Espero que tus compañeros propongan cosas y al final si veo debate puedo aportar cosas.

Te pego el código pedido:

int enviar_mensaje(int id) { char buf[256]; char mn; mn=buf; ((long )mn)=CNL; mn += sizeof(long); mn++=CMD; ((int )mn)=VAL; mn += sizeof(int); mn+=sprintf(mn,CADENA); if(msgsnd(id,buf,mn-buf-sizeof(long)+1,0) == -1) { perror("Problemas en msgsnd():"); exit(2); } printf("Mensaje enviado:\n"); print_hex(buf,mn-buf+1); }

Un saludo