/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Duda sobre colas de mensaje

 
      Índice del Foro elrincondelc.com -> Programación en Servidores
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Clarita20



Registrado: 02 Nov 2009
Mensajes: 1

MensajePublicado: 02/11/2009 2:57 am
Título: Duda sobre colas de mensaje

Hola chicos¡¡¡¡¡

Tengo un problemilla con el que espero que me podais echar una mano,estoy cansada de pelearme con el CCrying or Very sad . El programa que tengo que hacer se trata de un servidor al estilo FTP que mediante colas de mensaje,cuando el cliente se conecte el servidor le pase el nombre del fichero de texto que previamente se le ha pedido al cliente. De momento llevo el siguiente codigo escrito en el que le paso por teclado un mensaje,pero no se como hacerlo funcionar para usar ficheros de texto

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>


struct mensaje
{
long int tipo; /* tipo de msj*/
char texto[256]; /* datos del mensaje */
};



int main(int argc, char *argv[])
{

int id_cola;
long int tipo;
struct mensaje m;


if (argc!=3)
{
printf("Error en número de argumentos\n");
exit(-1);

}
id_cola=msgget((key_t)1234,IPC_CREAT|0666);
if (id_cola==-1)
{
printf ("La cola no se ha podido crear\n");
exit (-1);
}

sscanf(argv[1],"%ld",&tipo);
m.tipo=tipo;
strcpy(m.texto,argv[2]);
if (msgsnd (id_cola,&m,256,0 )==-1)
{
printf("Error al enviar mensaje\n");
exit(-1);
}
sleep(5);
if (msgrcv (id_cola,&m,256,0,0)==-1)
{
printf("Error al recibir mensaje\n");
exit(-1);
}
if ((m.tipo==tipo)&&(strcmp(m.texto,argv[2])==0)){

printf("Nadie ha recogido el mensaje\n");
msgctl(id_cola,IPC_RMID,NULL);


}
else
{
printf("%s\n",m.texto);
}


return 0;
}


Muchas gracias por vuestra ayuda¡¡¡¡¡ bss Rolling Eyes
Volver arriba
      Índice del Foro elrincondelc.com -> Programación en Servidores
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com