You are on page 1of 14

1.

TCP DATE TIME CLINT AND SERVER

OUTPUT

ccsit@ccsit-Vostro-3470:~/network$ ./a.out

Socket is opened
connected succesfully

message readMon Jun 5 10:01:51 2023

CODE

CLINT

#include"netinet/in.h"
#include"sys/socket.h"
#include"stdio.h"
#include"stdlib.h"
void bzero();
main()
{
struct sockaddr_in sa,cli;
int n,sockfd;
int len;
char buff[100];
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)
{
printf("\nError in socket");
exit(0);
}
else
printf("\nSocket is opened\n");
bzero(&sa,sizeof(sa));
sa.sin_family=AF_INET;
sa.sin_port=htons(5600);
if(connect(sockfd,(struct sockaddr*)&sa,sizeof(sa))<0)
{
printf("\nError in connection failed");
exit(0);
}
else
printf("connected succesfully\n");
if(n=read(sockfd,buff,sizeof(buff))<0)
{
printf("error in reading");
exit(0);
}
else
printf("\n message read%s",buff);
}

SERVER

OUTPUT

ccsit@ccsit-Vostro-3470:~/network$ ./a.out
socket opened
binding succesfully

Accepted
server Date:Mon Jun 5 10:01:51 2023
CODE

#include"netinet/in.h"
#include"sys/socket.h"
#include"stdio.h"
#include"string.h"
#include"time.h"
#include"stdlib.h"
main()
{
struct sockaddr_in sa;
struct sockaddr_in cli;
int sockfd,connfd;
int len,ch;
char str[100];
time_t tick;
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)
{
printf("error in socket\n");
exit(0);
}
else printf("socket opened\n");
bzero(&sa,sizeof(sa));
sa.sin_port=htons(5600);
sa.sin_addr.s_addr=htonl(0);
if(bind(sockfd,(struct sockaddr*)&sa,sizeof(sa))<0)
{
printf("error in binding\n");
}
else
printf("binding succesfully\n");
listen(sockfd,50);
for(;;)
{
len=sizeof(ch);
connfd=accept(sockfd,(struct sockaddr*)&cli,&len);
printf("Accepted\n server Date:");
tick=time(NULL);
snprintf(str,sizeof(str),"%s",ctime(&tick));
printf("%s",str);write(connfd,str,100);
}
}

2. SLIDING WINDOW PROTOCOL

OUTPUT

ccsit@ccsit-Vostro-3470:~/network$ ./a.out

ENTER THE WINDOWS SIZE:3

SENDER WINDOW IS EXPANED TO STORE MESSAGE OR WINDOW

ENTER THE DATE TO BE SENT:xxxyyyzzz


length is 9
POSITION1
===========

MEESAGE SEND BY THE SENDER: xxxyyyzzz

WINDOW SIZE OF RECEIVER IS EXPANDED


ACKNOWLEDGEMENT FROM RECEIVER

ACK:0
ACK:1
ACK:2
MESSAGE RECEIVED BY RECEIVERS IS:xxx
WINDOW SIZE OF RECEIVER IS SHRINKED

POSITION2
===========

MEESAGE SEND BY THE SENDER: xxxyyyzzz

WINDOW SIZE OF RECEIVER IS EXPANDED


ACKNOWLEDGEMENT FROM RECEIVER

ACK:0
ACK:1
ACK:2
MESSAGE RECEIVED BY RECEIVERS IS:xxxyyy

WINDOW SIZE OF RECEIVER IS SHRINKED

POSITION3
===========

MEESAGE SEND BY THE SENDER: xxxyyyzzz

WINDOW SIZE OF RECEIVER IS EXPANDED


ACKNOWLEDGEMENT FROM RECEIVER

ACK:0
ACK:1
ACK:2
MESSAGE RECEIVED BY RECEIVERS IS:xxxyyyzzz

WINDOW SIZE OF RECEIVER IS SHRINKED


CODE

#include<stdio.h>
#include<string.h>
void main()
{
char sender[50],receiver[50];
int i,winsize,n,a,j=1;
int k;
printf("\nENTER THE WINDOWS SIZE:");
scanf("%d",&winsize);
printf("\nSENDER WINDOW IS EXPANED TO STORE MESSAGE OR
WINDOW\n");
printf("\nENTER THE DATE TO BE SENT:");
fflush(stdin);
scanf("%s",sender);
n=strlen(sender);
printf("length is %d",n);
i=0;
a=winsize;
while(i<n)
{
printf("\n\t\tPOSITION%d\n",j);
printf("\t\t\t===========\n\n");
for(;i<a;i++)
receiver[i]=sender[i];
receiver[i]='\0';
printf("\n MEESAGE SEND BY THE SENDER:\t");
puts(sender);
printf("\n WINDOW SIZE OF RECEIVER IS EXPANDED\n");
printf("ACKNOWLEDGEMENT FROM RECEIVER\n");
for(k=0;k<winsize;k++)
printf("\nACK:%d",k);
printf("\n MESSAGE RECEIVED BY RECEIVERS IS:");
puts(receiver);
printf("\n WINDOW SIZE OF RECEIVER IS SHRINKED\n");
j++;
a=a+winsize;
}
}

3.TCP CLIENT AND SERVER

OUTPUT

CLIENT

Ready for sending.......


Enter the message to send

client:message
Server:Igot your message

SERVER

Start
Listening

Accepted

client message:message
CODE

CLIENT

#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<netdb.h>
#define SERV_TCP_PORT 5035
int main(int argc,char *arg[])
{
int sockfd;
struct sockaddr_in serv_addr;
struct hostent *server;
char buffer[4096];
sockfd=socket(AF_INET,SOCK_STREAM,0);
serv_addr.sin_family=AF_INET;
serv_addr.sin_addr.s_addr=inet_addr("127.0.0.1");
serv_addr.sin_port=htons(SERV_TCP_PORT);
printf("\nReady for sending.......");
connect(sockfd,(struct sockaddr*)&serv_addr,sizeof(serv_addr));
printf("\nEnter the message to send\n");
printf("\nclient:");
fgets(buffer,4096,stdin);
write(sockfd,buffer,4096);
read(sockfd,buffer,255);
printf("Server:%s",buffer);
printf("\n");
close(sockfd);
return 0;
}
SERVER

#include<stdio.h>
#include<netinet/in.h>
#include<netdb.h>
#define SERV_TCP_PORT 5035
int main(int argc,char**argv)
{
int sockfd,newsockfd,clength;
struct sockaddr_in serv_addr,cli_addr;
char buffer[4096];
sockfd=socket(AF_INET,SOCK_STREAM,0);
serv_addr.sin_family=AF_INET;
serv_addr.sin_addr.s_addr=INADDR_ANY;
serv_addr.sin_port=htons(SERV_TCP_PORT);
printf("\nStart");
bind(sockfd,(struct sockaddr*)&serv_addr,sizeof(serv_addr));
printf("\nListening");
printf("\n");
listen(sockfd,5);
clength=sizeof(cli_addr);
newsockfd=accept(sockfd,(struct sockaddr*)&cli_addr,&clength);
printf("\nAccepted");
printf("\n");
read(newsockfd,buffer,4096);
printf("\nclient message:%s",buffer);
write(newsockfd,"Igot your message",18);
printf("\n");
close(sockfd);
return 0;
}
4.UDP CLIENT AND SERVER

OUTPUT

CLIENT

csit@ccsit-Vostro-3470:~/network$ ./a.out 127.0.0.1

Enter data to send(Type_exit and press enter to exit):hello

Enter data to send(Type_exit and press enter to exit):

SERVER

Server socket()successful
Server.bind()succesful
Received packet from 127.0.0.1:46516
Data:hello

CODE

CLIENT

#include<arpa/inet.h>
#include<netinet/in.h>
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
#include<stdlib.h>
#include<string.h>
#define BUFLEN 512
#define PORT 9930
void err(char *s)
{
perror(s);
exit(1);
}
int main(int argc,char**argv)
{
struct sockaddr_in serv_addr;
int sockfd,i,slen=sizeof(serv_addr);
char buf[BUFLEN];
if(argc!=2)
{
printf("Usage:%s<server-IP>\n",argv[0]);
exit(0);
}
if((sockfd=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP))==-1)
err("socket");
bzero(&serv_addr,sizeof(serv_addr));
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(PORT);
if(inet_aton(argv[1],&serv_addr.sin_addr)==0)
{
fprintf(stderr,"inet_aton()failed\n");
exit(1);
}
while(1)
{
printf("\nEnter data to send(Type_exit and press enter to exit):");
scanf("%[^\n]",buf);
getchar();
if(strcmp(buf,"exit")==0)
exit(0);
if(sendto(sockfd,buf,BUFLEN,0,(struct
sockaddr*)&serv_addr,slen)==-1)
err("sendto()");
}
close(sockfd);
return 0;
}

SERVER

#include<arpa/inet.h>
#include<netinet/in.h>
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
#include<stdlib.h>
#include<string.h>
#define BUFLEN 512
#define PORT 9930
void err(char *s)
{
perror(s);
exit(1);
}
int main(int argc,char**argv)
{
struct sockaddr_in serv_addr;
int sockfd,i,slen=sizeof(serv_addr);
char buf[BUFLEN];
if(argc!=2)
{
printf("Usage:%s<server-IP>\n",argv[0]);
exit(0);
}
if((sockfd=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP))==-1)
err("socket");
bzero(&serv_addr,sizeof(serv_addr));
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(PORT);
if(inet_aton(argv[1],&serv_addr.sin_addr)==0)
{
fprintf(stderr,"inet_aton()failed\n");
exit(1);
}
while(1)
{
printf("\nEnter data to send(Type_exit and press enter to exit):");
scanf("%[^\n]",buf);
getchar();
if(strcmp(buf,"exit")==0)
exit(0);
if(sendto(sockfd,buf,BUFLEN,0,(struct
sockaddr*)&serv_addr,slen)==-1)
err("sendto()");
}
close(sockfd);
return 0;
}

You might also like