Program 8
Program 8
Code:
Server Side: -
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <time.h>
#define TRUE 1
#define FALSE 0
#define MPROC 20
#define MAX_BUFF 512
#define PORT 5001
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = INADDR_ANY;
server_addr.sin_port = htons(port_num);
cl.sin_family = AF_INET;
cl.sin_addr.s_addr = INADDR_ANY;
cl.sin_port = htons(port_num);
sendto(id, (const char *)message, strlen(message), MSG_CONFIRM, (const
SA*)&cl, sizeof(cl));
}
while(TRUE){
sleep(2);
memset(&from, 0, sizeof(from));
n = recvfrom(sock_id, (char *)buffer, MAX_BUFF, MSG_WAITALL, (SA
*)&from, &len);
buffer[n] = '\0';
printf("Recieved: %s\n", buffer);
if (strcmp(buffer, "CMOK") == 0){
okcnt += 1;
}
else if (strcmp(buffer, "CMNO") == 0){
nocnt += 1;
}
Client Side: -
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <time.h>
#define TRUE 1
#define FALSE 0
#define MAX_BUFF 512
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = INADDR_ANY;
server_addr.sin_port = htons(port_num);
while(TRUE){
sleep(2);
memset(&from, 0, sizeof(from));
n = recvfrom(sock_id, (char *)buffer, MAX_BUFF, MSG_WAITALL, (struct
sockaddr *)&from, &len);
buffer[n] = '\0';
printf("Recieved: %s\n", buffer);
Coordinator: -
Client 1: -
Client 2: -
Client 3: -
Client 4: -