Week 12
Week 12
NAME:k.Dhanush ROLLNO:22R21A66F8
CLASS:CSM-C DATE:25/11/24
A. Write Client server program in C for connection oriented communication between
server and client process using unix domain sockets to perform the following.
PROGRAM :Server
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#define SOCKET_PATH "/tmp/server_socket"
#define BUFFER_SIZE 1024
int main() {
int server_fd, client_fd;
socklen_t client_len;
struct sockaddr_un server_addr, client_addr;
char buffer[BUFFER_SIZE];
int nbytes;
// Accept connections
client_len = sizeof(client_addr);
if ((client_fd = accept(server_fd, (stru PROGRAM :Server ct sockaddr *)&client_addr,
&client_len)) == -1) {
perror("accept");
exit(EXIT_FAILURE);
}
return 0;
}
OUTPUT:
PROGRAM: Client
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
int main() {
int client_fd;
struct sockaddr_un server_addr;
char buffer[BUFFER_SIZE];
int nbytes;
return 0;
}
OUTPUT:
int main() {
int server_fd, client_fd;
struct sockaddr_in server_addr, client_addr;
char buffer[BUFFER_SIZE];
int nbytes;
// Create a socket
if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("socket");
exit(EXIT_FAILURE);
}
return 0;
}
OUTPUT:
PROGRAM :Client
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
int main() {
int client_fd;
struct sockaddr_in server_addr;
struct hostent *server;
char buffer[BUFFER_SIZE];
int nbytes;
// Create a socket
if ((client_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("socket");
exit(EXIT_FAILURE);
}
return 0;
}
OUTPUT: