Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
- #include "../include/TYPES.h"
- #include <sys/ipc.h>
- #include <sys/msg.h>
- struct Message message;
- long int msg_to_receive;
- int main()
- {
- (void) fprintf(stderr,"Server is Running\n");
- START: ;
- int msgQid = msgget((key_t)1234, 0666 | IPC_CREAT);
- msg_to_receive = 0;
- if(msgQid == -1) {
- exit(EXIT_FAILURE);
- }
- //(void) fprintf(stderr,"msgget: msgget succeeded: msgQid = %d\n",msgQid);
- bool running = true;
- bool waiting = true;
- while(running)
- {
- if(msgrcv(msgQid, (void *)&message, sizeof(message),PIN,0) == -1)
- {
- perror("msgrcv failed receive pinMessage");
- exit(1);
- }
- if(message.messageType == PIN)
- {
- (void) fprintf(stderr,"Server received PIN message\n");
- // GET VALID/INVALID MESSAGE FROM DB
- message.messageType = VALIDATE;
- // Send validate message to DB
- if(msgsnd(msgQid, &message, sizeof(message), 0) < 0)
- {
- perror("msgsnd: failed VALIDATE message");
- exit(1);
- }
- (void) fprintf(stderr,"Server sent VALIDATE message\n");
- while(waiting)
- {
- if(msgrcv(msgQid, (void *)&message, sizeof(message),-4,0) == -1)
- {
- perror("msgrcv failed receive pinMessage");
- exit(1);
- }
- if(message.messageType == NOTOK)
- {
- (void) fprintf(stderr,"You Fucked up\n");
- }
- else
- {
- (void) fprintf(stderr,"Access Granted\n");
- }
- waiting = false;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement