0% found this document useful (0 votes)
125 views4 pages

TCP/IP Client-Server File Transfer Code

Uploaded by

Suhas Annigeri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
125 views4 pages

TCP/IP Client-Server File Transfer Code

Uploaded by

Suhas Annigeri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

1.

Using TCP/IP sockets, write a client – server program to make the client send the file name
and to make the server send back the contents of the requested file if present.

//TCP SERVER PROGRAM

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<sys/fcntl.h>
int main(int argc, char *argv[])
{
int fd,sockfd, newsockfd, clilen,portno,n;
struct sockaddr_in serv_addr,cli_addr;
char buffer[4096];
if (argc<2)
{
fprintf(stderr,"no port\n");
exit(1);
}
portno=atoi(argv[1]);
sockfd = socket(AF_INET, SOCK_STREAM,0);
if(sockfd < 0)
perror("error opening socket");
bzero((char*)&serv_addr,sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = (htonl)INADDR_ANY;
serv_addr.sin_port = htons(portno);
if(bind(sockfd,(struct sockaddr
*)&serv_addr,sizeof(serv_addr))<0)
perror("error binding");
listen(sockfd,5);
clilen = sizeof(cli_addr);
printf("SERVER waiting for the CLIENT....\n");
while(1)
{
newsockfd = accept(sockfd,(struct sockaddr
*)&cli_addr,&clilen);
if(newsockfd < 0)
perror("error on accept");
bzero(buffer,4096);
read(newsockfd,buffer,4096);
fd=open(buffer,O_RDONLY);
if(fd<0)
perror("file open error ");
while(1)
{
n=read(fd,buffer,4096);
if(n<=0)
exit(0);
write(newsockfd,buffer,n);
printf("Transfer Completed\n");
}
close(fd);
close(newsockfd);
}
return 0;
}

/*
OUTPUT:-

$ cc server_tcp.c
$ ./[Link] 5003

SERVER waiting for the CLIENT....


Transfer Completed.

*/

//TCP CLIENT PROGRAM

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<sys/fcntl.h>
#include<arpa/inet.h>
int main(int argc, char *argv[])
{
int sockfd, portno,n;
struct sockaddr_in serv_addr;
char buffer[4096],*servip;
if (argc<4)
{
fprintf(stderr,"usage %s serverip filename port\n",
argv[0]);
exit(0);
}
servip=argv[1];
portno = atoi(argv[3]);
sockfd = socket(AF_INET, SOCK_STREAM,0);
if(sockfd < 0)
perror("error opening socket");
printf("client online\n");
bzero((char *)&serv_addr,sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr=inet_addr(servip);
serv_addr.sin_port = htons(portno);
if(connect(sockfd,(struct sockaddr
*)&serv_addr,sizeof(serv_addr))<0)
perror("error connecting");
write(sockfd,argv[2],strlen(argv[2])+1);
bzero(buffer,4096);
n = read(sockfd,buffer,4096);
if(n<=0)
{
perror("file not found");
exit(0);
}
write(1,buffer,n);
}

/*
OUTPUT:-

$ cc client_tcp.c
$ ./[Link] [Link] [Link] 5003
client online
hello !
Welcome to BNMIT
*/

cookies:

[Link] service apache2 start

2. sudo service apache2 status

[Link] htpasswd -c /etc/apache2/.htpasswd seed

Set the passwords and retype it

[Link] cat /etc/apache2/.htpasswd

[Link] nano /etc/apache2/sites-available/[Link]

After [Link] type below code


6.<Directory "/var/www/html">

AuthType Basic

AuthName "RESTRICTED"

AuthUserFile /etc/apache2/.htpasswd

Require valid-user

</Directory>

C+O

C+x

Enter

C+x

[Link] service apache2 restart

Open firefox

Localhost/

It should ask password

You might also like