Computer Networks Lab: Name-Kaushik Ghosh ROLL - 34900117048 College-Coochbehar Government Engineering College
Computer Networks Lab: Name-Kaushik Ghosh ROLL - 34900117048 College-Coochbehar Government Engineering College
NAME-KAUSHIK GHOSH
ROLL -34900117048
COLLEGE-COOCHBEHAR GOVERNMENT ENGINEERING COLLEGE
sc = open(argv[1],O_RONLY);
if(sc==-1){
printf("\nError opening file %s. errno =
%d\n",argv[1],errno);
exit(1);
}
if(r == -1)
printf("\nError in reading data from %s\n",argv[1]);
if(close(sc) == -1)
printf("\nError in closing file %s\n",argv[1]);
if(close(dt) == -1)
printf("\nError in closing file %s\n",argv[2]);
exit(0);
}
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int f=9,g=7,h,i;
h = (f+g);
i =(f-g);
printf("Before it Forks\n");
cpid = fork();
if(cpid == 0)
{
printf("This is a child Process\n");
while(ct1<5)
{
printf("Child Process:%d\n",ct1);
printf("Subtraction is:%d \n",i);
sleep(1);
ct1++;
}
}else{
printf("This is a Parent Process\n");
while(ct2<10)
{
printf("Parent Process:%d\n",ct1);
printf("Addition is:%d \n",h);
sleep(1);
ct2++;
}
}
return 0;
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<string.h>
#include<sys/wait.h>
int main()
{
int pp1[2],pp2[2];
pid_t p;
if(pipe(pp1)==-1 || pipe(pp2)==-1)
{
fprintf(stderr,"Pipe Operation failed");
exit(1);
}
p=fork();
if(p<0)
{
printf("fork's return value less than zero.");
exit(1);
}
else if(p>0){
printf("Client side running.////.\n");
close(pp1[0]);
write(pp1[1], fp, strlen(fp)+1);
close(pp1[1]);
wait(NULL);
close(pp2[1]);
read(pp2[0],fc,1000);
printf("The file contents are:\n%s",fc);
close(pp2[0]);
}
close(pp1[1]);
read(pp1[0],file_path,strlen(fp)+1);
close(pp1[0]);
FILE *fptr;
fptr=fopen(fp,"r");
if(fptr==NULL)
{
printf("The file path is nullable..");
exit(1);
}
int i=0;
c=fgetc(fptr);
while(c!=EOF)
{
fc[i]=c;
c=fgetc(fptr);
i++;
}
close(pp2[0]);
write(pp2[1],file_content,i+2);
close(pp2[1]);
printf("Contents sent.\n");
}
return 0;
}
Server program:
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<netinet/in.h>
int main()
{
int fd_sock;
char data_rec[1024];
struct sockaddr_in sv_add, cl_addr;
socklen_t cl_ln;
if((fd_sock=socket(AF_INET, SOCK_DGRAM,0))<0)
{
perror("Sorry,Socket creation Failed.");
exit(1);
}
printf("Socket()Created Success\n");
memset(&sv_add,0,sizeof(sv_add));
memset(&cl_addr,0,sizeof(cl_addr));
sv_add.sin_family = AF_INET;
sv_add.sin_addr.s_addr = inet_addr("127.0.0.1");
sv_add.sin_port = htons(8080);
if(bind(fd_sock,(struct
sockaddr*)&sv_add,sizeof(sv_add))<0)
{
perror("Binding failed.");
exit(1);
}
printf("Bind() sucessful.\n");
Client Program:
#include <arpa/inet.h>
#include <netinet/in.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
if((fd_sock=socket(AF_INET,SOCK_DGRAM,0))<0)
{
perror("Socket creation failed");
exit(1);
}
printf("socket() created.");
sv_add.sin_family=AF_INET;
sv_add.sin_port =htons(8080);
sv_add.sin_addr.s_addr = inet_addr("127.0.0.1");
while(1)
{
printf("\nEnter message to be sent:\nP.S- Please type
exit and press enter to exit.\n");
scanf("%s", data);
if(strcmp(data,"exit")==0)
{
printf("Exiting from loop.\n");
break;
}
if(sendto(fd_sock,data,strlen(data),0,(struct
sockaddr*)&sv_add,socket_len)<0)
{
perror("Error in sendto()");
exit(0);
}
close(fd_sock);
return 0;
}