Вы находитесь на странице: 1из 7

SCHOOL OF INFORMATION TECHNOLOGY AND ENGINEERING

B. Tech. Information Technology

ITE3001

LAB ASSIGNMENT 1

NAME: ANAM KHAN

REG. NO.: 17BIT0223


1. TCP program

Client program

#include<stdio.h>
#include<stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
# define port 5000
void main()
{
int sersocket,s;
struct sockaddr_in serveraddr;
struct sockaddr_in newaddr;
int clisocket;
int size;
char buffer[100];
clisocket=socket(PF_INET,SOCK_STREAM,0);
if(clisocket >0)
printf("server socket created");
serveraddr.sin_family = PF_INET;
serveraddr.sin_port = htons(port);
serveraddr.sin_addr.s_addr=inet_addr("127.0.0.1");
connect(clisocket,(struct sockaddr*)&serveraddr,sizeof(serveraddr));
printf("enter the string");
scanf("%s",buffer);
send(clisocket,buffer,sizeof(buffer),0);
close (clisocket);
}

Server Program

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#define port 5000
void main(){

int sersocket , s;
struct sockaddr_in serveraddr;
struct sockaddr_in newaddr;
int clisocket;
int size;
int newsocket;
char buffer[100];
sersocket = socket(PF_INET,SOCK_STREAM,0);
if(sersocket > 0)
printf("server socket created \n");
serveraddr.sin_family = PF_INET;
serveraddr.sin_port = htons(port);
serveraddr.sin_addr.s_addr = htonl(INADDR_ANY);
s = bind(sersocket,(struct sockaddr*)&serveraddr,sizeof(serveraddr));
if(s == 0)
printf("bind success\n");
listen(sersocket,1);
size = sizeof(newaddr);
printf("server ready\n");
newsocket = accept(sersocket,(struct sockaddr*)&newaddr,&size);
if(newsocket > 0)
printf("accepted \n");
recv(newsocket,buffer, sizeof(buffer),0);
printf("data recieved %s \t",buffer);
close(sersocket);
}

Compilation and execution

gcc server.c -o ser


./ser

gcc client.c -o cli


./cli
2. UDP program

Client program-

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#define port 4000

void main(){
int sersocket,s;
struct sockaddr_in serveraddr;
struct sockaddr_in newaddr;
int clisocket;
int size;
char buffer[100];
clisocket=socket(AF_INET,SOCK_DGRAM,0);
if(clisocket>0)
printf("Client socket created");
serveraddr.sin_family=AF_INET;
serveraddr.sin_port=htons(port);
serveraddr.sin_addr.s_addr=inet_addr("127.0.0.1");
printf("Enter string\n");
scanf("%s",buffer);
sendto(clisocket,buffer,sizeof(buffer),0,(struct sockaddr *)&serveraddr,sizeof(serveraddr));
close(clisocket);
}

Server program-

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#define port 4000

void main(){
int sersocket,s,newsocket;
struct sockaddr_in serveraddr;
struct sockaddr_in newaddr;
int clisocket;
int size;
char buffer[100];
sersocket=socket(AF_INET,SOCK_DGRAM,0);
if(sersocket>0)
printf("Server socket created");
serveraddr.sin_family=AF_INET;
serveraddr.sin_port=htons(port);
serveraddr.sin_addr.s_addr=htonl(INADDR_ANY);
s=bind(sersocket,(struct sockaddr *)&serveraddr,sizeof(serveraddr));
if(s==0)
printf("Bind success");
clisocket=sizeof(newaddr);
if(newsocket>0)printf("accepted");
recvfrom(sersocket,buffer,1024,0,(struct sockaddr *)&newaddr,&clisocket);
printf("data recieved %s", buffer);
close(sersocket);
}

3. Challenging Question – Chat box

Client program

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define port 5000
void main()
{
int sersocket,s;
struct sockaddr_in serveraddr;
struct sockaddr_in newaddr;
int clisocket;
int size;
char buffer[100];
clisocket=socket(PF_INET,SOCK_STREAM,0);
if(clisocket >0)
printf("client socket created\n");
serveraddr.sin_family = PF_INET;
serveraddr.sin_port = htons(port);
serveraddr.sin_addr.s_addr=inet_addr("127.0.0.1");
connect(clisocket,(struct sockaddr*)&serveraddr,sizeof(serveraddr));
for(;;)
{
printf("enter the string\n");
gets(buffer);
send(clisocket,buffer,sizeof(buffer),0);
if(strcmp(buffer,"bye")==0)
break;
recv(clisocket,buffer,1024,0);
printf("data reieved %s\n",buffer);
if(strcmp(buffer,"bye")==0)
break;
}
close(clisocket);
}

Server program

#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define port 5000
void main()
{
int sersocket,s;
struct sockaddr_in serveraddr;
struct sockaddr_in newaddr;
int newsocket;
int size;
char buffer[100];
sersocket=socket(PF_INET,SOCK_STREAM,0);
if(sersocket >0)
printf("server socket created\n");
serveraddr.sin_family = PF_INET;
serveraddr.sin_port = htons(port);
serveraddr.sin_addr.s_addr=htonl(INADDR_ANY);
s=bind(sersocket,(struct sockaddr *)&serveraddr, sizeof(serveraddr));
if(s==0)
printf("bind success\n");
listen(sersocket,1);
size=sizeof(newaddr);
printf("server ready\n");
newsocket=accept(sersocket,(struct sockaddr *)&newaddr, &size);
if(newsocket >0)
printf("accepted");
for(;;)
{
recv(newsocket,buffer,sizeof(buffer),0);
printf("data recieved is %s\n",buffer);
if(strcmp(buffer,"bye")==0)
break;
printf("enter the string\n");
gets(buffer);
send(newsocket,buffer,sizeof(buffer),0);
if(strcmp(buffer,"bye")==0)
break;

}
close(sersocket);
}

Вам также может понравиться