1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
   | #include "main.h"
 
#define MQ_NAME "/queuetest"
#define BUF_LEN 512
 
int	main(void)
{
	ssize_t	len_recv;
	mqd_t	My_MQ;
	char	*text;
	char	recv[BUF_LEN];
	int		ret;
 
	My_MQ = mq_open(MQ_NAME, O_RDWR);
	if (My_MQ == -1)
	{
		perror("Error : mq_open failed !\n");
		return (-1);
	}
 
	printf("%s\n", "Envoi msg de priorite 42");
	text = strdup("Message test prio : 42 !");
	ret = mq_send(My_MQ, text, strlen(text), 42);
	free(text);
 
	printf("%s\n", "Envoi msg de priorite 21");
	text = strdup("Message test prio : 21 !");
	ret = mq_send(My_MQ, text, strlen(text), 21);
	free(text);
 
	memset(recv, 0, BUF_LEN);
	len_recv = mq_receive(My_MQ, recv, BUF_LEN, NULL);
	printf("Premier msg recu (len : %u) : %s\n", (unsigned int) len_recv, recv);
 
	memset(recv, 0, BUF_LEN);
	len_recv = mq_receive(My_MQ, recv, BUF_LEN, NULL);
	printf("Deuxieme msg recu (len : %u) : %s\n", (unsigned int) len_recv, recv);
 
	mq_close(My_MQ);
	return (0);
} | 
Partager