FTP APPLICATION USING TCP

Server program

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
int main(int argc,char **argv[])
{
 int sockfd,i,connfd,t,port;
 char fname[50],cont[100];
 FILE *f;
 struct sockaddr_in servaddr;
 if((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0)
 {
  printf("\n\t Error in socket Creation ");
  exit(0);
 }
printf("Enter the port number");
scanf("%d",&port);
  bzero(&servaddr,sizeof(servaddr));
  servaddr.sin_family=AF_INET;
  servaddr.sin_port=htons(port);
  servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
 if(bind(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr)) <0)
 {
   printf("\n\t Error in Bind");     exit(0);
 }
 if((listen(sockfd,10)) < 0)
 {
   printf("\n\t Error in Listen ");     exit(0);
 }
 for(; ;)
 {
      if((connfd=accept(sockfd,(struct sockaddr*)NULL,NULL)) <0)
   {
     printf("\n\t Error in Accept" );        exit(0);
   }
  recv(connfd,fname,50,0);
  printf("\n\t File is Received : %s \n",fname);
  f=fopen(fname,"r");
  while(!feof(f))
  {
      fread(cont,100,1,f);
      if(!feof(f))
      cont[t]='\0';
      send(connfd,cont,strlen(cont),1);
   }
    printf("\n\t File Content Transferred \n");;
exit(0);
    fclose(f);
   close(connfd);
 }
     }
Client program

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
int main(int argc,char **argv[])
{
 int sockfd,i,connfd,t,port;
 char sfname[50],cont[100],dfname[50];
 FILE *fp;
 struct sockaddr_in servaddr;
 if((sockfd=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP)) < 0)
 {
  printf("\n\t Error in socket Creation ");
  exit(0);
 }
  printf("Enter the port number");
  scanf("%d",&port);
  bzero(&servaddr,sizeof(servaddr));
  servaddr.sin_family=AF_INET;
  servaddr.sin_port=htons(port);
  servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
if((connect(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr))))
 {
   printf("\n\t Error in Connect");
   exit(0);
 }
 printf("\n\n\t Client Module has to run.....");
 printf("\n\t Enter the Source FileName :");
 scanf("%s",sfname);
 printf("\n\t Enter the Destination FileName : ");
 scanf("%s",dfname);
 send(sockfd,sfname,strlen(sfname),0);
 fp=fopen(dfname,"w");
 while(recv(sockfd,cont,100,0) >0)
 {
   fwrite(&cont,strlen(cont),1,fp);
   printf("%s\n",cont);
   strcpy(cont,"\0");
 }
 fclose(fp);
close(sockfd);
}

OUTPUT

SERVER

[11ca013@mcalinux network]$ cc 6tcpftpser.c
[11ca013@mcalinux network]$ ./a.out 192.168.1.134
Enter the port number: 1052

         File is Received: sample.txt

         File Content Transferred

CLIENT

[11ca013@mcalinux network]$ cc 6tcpftpcli.c
[11ca013@mcalinux network]$ ./a.out 192.168.1.134
Enter the port number1052

         Client Module has to run.....
         Enter the Source FileName :sample.txt

         Enter the Destination FileName : gandhi.txt
rajivgandhi
hi

how are you

ECHO APPLICATION USING UDP

Server program

 #include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<errno.h>
void  dg_echo (int sockfd, struct sockaddr *pcliaddr, socklen_t clilen);
int  main (int argc, char **argv)
{
        int sockfd,port;
        struct sockaddr_in servaddr, cliaddr;
        sockfd = socket(AF_INET, SOCK_DGRAM, 0);
        printf("Enter the port number : ");
        scanf("%d",&port);
        bzero (&servaddr, sizeof(servaddr));
        servaddr.sin_family = AF_INET;
       servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
        servaddr.sin_port = htons(port);
        bind (sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr));
        dg_echo(sockfd, (struct sockaddr *) &cliaddr, sizeof(cliaddr));
 }
void  dg_echo (int sockfd, struct sockaddr *pcliaddr, socklen_t clilen)
 {
        int n;
        socklen_t len;
        char mesg[1000];
        len = clilen;
       while(strcmp(mesg,"bye")!=0)
        {
        n = recvfrom (sockfd, mesg, 1000, 0, pcliaddr, &len);
       printf("\nClient message :%s",mesg);
        sendto (sockfd, mesg, n, 0, pcliaddr, len);
        }
        exit(0);
}
Client program

 #include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<errno.h>
void dg_cli(FILE *fp,int sockfd,struct sockaddr_in *psa,socklen_t servlen);

int  main (int argc, char **argv)
        {
        int sockfd,port;
        struct sockaddr_in servaddr;
        bzero (&servaddr, sizeof(servaddr));
        printf("Enter the port number  : ");
        scanf("%d",&port);
        servaddr.sin_family = AF_INET;
        servaddr.sin_port = htons(port);
        inet_pton(AF_INET, argv[1], &servaddr.sin_addr);
        sockfd = socket(AF_INET, SOCK_DGRAM, 0);
       dg_cli (stdin,sockfd,(struct sockaddr_in *)&servaddr,sizeof(servaddr));
         exit(0);
        }
void dg_cli(FILE *fp,int sockfd,struct sockaddr_in *psa,socklen_t servlen)
        {
        int n;
        char sendline[1000], recvline[1000 + 1];
        while(strcmp(recvline,"bye")!=0)
        {
        printf("\nEnter the message   : ");
        while (fgets (sendline, 1000, fp) != NULL)
        {
          sendto(sockfd,sendline,100,0,psa,servlen);
          n = recvfrom(sockfd, recvline, 1000, 0, NULL, NULL);
          recvline[n] = 0;
          fputs (recvline, stdout);
        }
        exit(0);
        }
 }


OUTPUT

SERVER

[11ca013@mcalinux network]$ cc 5echoser.c
[11ca013@mcalinux network]$ ./a.out
Enter the port number : 3326

Client message :hi

Client message :hello

Client message :how_are_you

Client message :i_am_fine

Client message :ok_bye

CLIENT

[11ca013@mcalinux network]$ cc 5echocli.c
[11ca013@mcalinux network]$ ./a.out 192.168.1.134
Enter the port number  : 3326
Enter the message  
hi
hi
hello
hello
how_are_you
how_are_you
i_am_fine
i_am_fine
ok_bye
ok_bye


ECHO APPLICATION USING TCP

Server program

 #include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#include<errno.h>
int main()
{
        int sock,con,byte_rec,flag=0,port;
        char send_data[1024],rec_data[1024];
        struct sockaddr_in ser,cli;
        int sin_size;
        if((sock=socket(AF_INET,SOCK_STREAM,0))==-1)
        {
                perror("Socket\n");
                exit(1);
        }
        ser.sin_family=AF_INET;
        printf("Enter the port number  : ");
        scanf("%d",&port);
        ser.sin_port=htons(port);
        ser.sin_addr.s_addr=INADDR_ANY;
        bzero(&(ser.sin_zero),8);
        if(bind(sock,(struct sockaddr*)&ser,sizeof(struct sockaddr))==-1)
        {
                perror("can't bind\n");
                exit(1);
        }
        if(listen(sock,3)==-1)
        {
                perror("listen\n");
                exit(1);
        }
        printf("Waiting \n");

        sin_size=sizeof(struct sockaddr_in);
        con=accept(sock,(struct sockaddr*)&cli,&sin_size);
        printf("Connected\n\n");
        while(1)
        {
                byte_rec=recv(con,rec_data,1024,0);
                rec_data[byte_rec]='\0';
                printf("received data : %s\n\n",rec_data);
                send(con,rec_data,strlen(rec_data),0);
                if(strcmp(rec_data,"end")==0)
                        break;
        }
        close(con);
        close(sock);
        return 0;
}
Client program

 #include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#include<netdb.h>
#include<errno.h>

int main()
{
        int sock,byte_rec,port;
        char send_data[1024],rec_data[1024];
        struct hostent *host;
        struct sockaddr_in ser,cli;
        host=gethostbyname("127.0.0.1");
        if((sock=socket(AF_INET,SOCK_STREAM,0))==-1)
        {
                perror("Socket\n");
                exit(1);
        }
        printf("socket created\n");
        ser.sin_family=AF_INET;
        printf("Enter the port number  : ");
        scanf("%d",&port);
        ser.sin_port=htons(port);
        ser.sin_addr= *((struct in_addr *)host->h_addr);
        bzero(&(ser.sin_zero),8);
        if(connect(sock,(struct sockaddr*)&ser,sizeof(struct sockaddr))==-1)
        {
                perror("connect\n");
                exit(1);
        }

        while(1)
        {
                printf("\nsend:");
                scanf("%s",send_data);
                send(sock,send_data,strlen(send_data),0);
                byte_rec=recv(sock,rec_data,1024,0);
                rec_data[byte_rec]='\0';
                printf("Rec data : %s\n",rec_data);

                if(strcmp(rec_data,"end")==0)
                        break;
        }
        close(sock);
        return 0;
}






















OUTPUT

SERVER

[11ca013@mcalinux network]$ cc 5tcpechoser.c
[11ca013@mcalinux network]$ ./a.out
Enter the port number  : 3326
Waiting
Connected

received data : hi

received data : hello

received data : how_are_you

received data : i_am_fine

received data : end

[11ca013@mcalinux network]$

CLIENT

[11ca013@mcalinux network]$ cc 5tcpechocli.c
[11ca013@mcalinux network]$ ./a.out
socket created
Enter the port number  : 3326

send:hi
Rec data : hi

send:hello
Rec data : hello

send:how_are_you
Rec data : how_are_you

send:i_am_fine
Rec data : i_am_fine

send:end
Rec data : end

[11ca013@mcalinux network]$

CHAT APPLICATION USING UDP

Server program

#include<stdio.h>
#include<sys/socket.h>
#include<netdb.h>
#include<string.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<stdlib.h>

int main()
{
int listenfd,connfd,n,len,port;
char buff[1024], str[1024];
struct sockaddr_in servaddr;
listenfd=socket(AF_INET,SOCK_DGRAM,0);
if (listenfd<0)
printf("Unable to create a socket");
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_addr.s_addr=htonl (INADDR_ANY);
printf("Enter the port number");
scanf("%d",&port);
servaddr.sin_port=htons (port);
bind (listenfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
len=sizeof(servaddr);

while(strcmp(buff,"bye")!=0)
{
recvfrom(listenfd,buff,1024,0,(struct sockaddr*)&servaddr,&len);
printf("From client :%s\n",buff);
printf("Server:");
scanf("%s",str);
write(listenfd,str,strlen(str));
sendto(listenfd,str,sizeof(str),0,(struct sockaddr*)&servaddr,len);
}
return 0;
}
Client program
#include<stdio.h>
#include<sys/socket.h>
#include<netdb.h>
#include<string.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<stdlib.h>


int main(int argc,char **argv)
{
int sockfd,n,len,port;
char buff[1024],str[1024];
struct sockaddr_in  servaddr;
sockfd = socket(AF_INET,SOCK_DGRAM,0);
if (sockfd<0)
printf("Unable to create a socket");
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_addr.s_addr=htonl (INADDR_ANY);
//servaddr.sin_addr.s_addr=inet_addr(argv[1];
printf("Enter the port number");
scanf("%d",&port);
servaddr.sin_port=htons(port);
connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr));

while(strcmp(buff,"bye")!=0)
{
printf("client:");
//gets(str);
scanf("%s",str);
sendto(sockfd,str,sizeof(str),0,(struct sockaddr*)&servaddr,len);

write(sockfd,str,strlen(str));
printf("From Server:");
recvfrom(sockfd,buff,1024,0,(struct sockaddr*)&servaddr,&len);
fputs(buff,stdout);
printf("\n");
}
close(sockfd);
return 0;
}


OUTPUT

SERVER

[11ca013@mcalinux network]$ cc 4udpser.c
[11ca013@mcalinux network]$ ./a.out
Enter the port number4587
From client          :hi
Server                   :how_are_you
From client                    :i_am_fine
Server                   :ok_where_are_you
From client                    :i_am_fine
Server                   :ok
From client                    :bye

CLIENT

[11ca013@mcalinux network]$ cc 4udpcli.c
[11ca013@mcalinux network]$ ./a.out
Enter the port number4587
Client                             :hi
From Server                   :how_are_you
Client                             :i_am_fine
From Server                   :ok
Client                             :bye


CHAT APPLICATION USING TCP

Server program

#include<stdio.h>
#include<sys/socket.h>
#include<netdb.h>
#include<string.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<stdlib.h>

#define MAXDATASIZE 100
void main()
{
int sd,i=0,len,l,s,sd1,si,port;
struct sockaddr_in ser,cli;
char msg[20],rmsg[50];
char buf[MAXDATASIZE];

if((sd=socket(AF_INET,SOCK_STREAM,0))<0)
{
  printf("\n\t Error in socket");
  exit(0);
}

bzero(&ser,sizeof(ser));
ser.sin_family=AF_INET;
printf("\nEnter the port number : ");
scanf("%d",&port);
ser.sin_port=htons(port);
ser.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(sd,(struct sockaddr*)&ser,sizeof(ser)) <0)
{
  printf("\n\t Error in bind");
  exit(0);
}

if(listen(sd,5) <0)
{
 printf("\n\t Error in Listen");
exit(0);
}

si=sizeof(cli);
if((sd1=accept(sd,(struct sockaddr*)&cli,&si)) <0)
{
 printf("\n\t Error in Accept");
exit(0);
}

do
{
 recv(sd1,msg,50,0);
 printf("\n\t Clinet Msg Received : %s ",msg);
 printf("\n\t Enter Server String : ");
 gets(buf);
 send(sd1,buf,50,0);
}

while((strcmp(buf,"exit"))!=0);
close(sd);
exit(0);
}
Client program

#include<stdio.h>
#include<sys/socket.h>
#include<netdb.h>
#include<string.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<stdlib.h>

#define MAXDATASIZE 100
void main()
{
int sd,i=0,len,port;
struct sockaddr_in ser;
char msg[20],rmsg[50];
char buf[MAXDATASIZE];


if((sd=socket(AF_INET,SOCK_STREAM,0))<0)
{
printf("\n\t Error in socket");
exit(0);
}

bzero(&ser,sizeof(ser));
ser.sin_family=AF_INET;
printf("\nEnter the port number : ");
scanf("%d",&port);
ser.sin_port=htons(port);
ser.sin_addr.s_addr=htonl(INADDR_ANY);


if(connect(sd,(struct sockaddr*)&ser,sizeof(ser)) <0)
{
printf("\n\t Error in bind");
exit(0);
}


do
{
printf("\n\t Enter the Client String :");
gets(buf);
send(sd,buf,50,0);

recv(sd,rmsg,50,0);
printf("\n\t  Server Msg Received : %s ",rmsg);

}

while((strcmp(buf,"exit"))!=0);
close(sd);
}










OUTPUT

SERVER

[11ca013@mcalinux network]$ cc 4tcpser.c
 [11ca013@mcalinux network]$ ./a.out

Enter the port number : 4585

         Clinet Msg Received : hi
         Enter Server String : how are you

         Clinet Msg Received : i am fin
         Enter Server String : ok

         Clinet Msg Received : good night
         Enter Server String : exit

CLIENT

[11ca013@mcalinux network]$ cc 4tcpcli.c
 [11ca013@mcalinux network]$ ./a.out

Enter the port number : 4585
        
         Enter the Client String :hi
         Server Msg Received : how are you

         Enter the Client String :i am fin
         Server Msg Received : ok

         Enter the Client String :good night

         Server Msg Received : exit



Your IP Address is:

Browser: