Thanks to visit codestin.com
Credit goes to www.scribd.com

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

Socket Prog

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)
32 views4 pages

Socket Prog

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
You are on page 1/ 4

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
$ ./a.out 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
$ ./a.out 127.0.0.1 ex.txt 5003
client online
hello !
Welcome to BNMIT
*/

cookies:

1.sudo service apache2 start

2. sudo service apache2 status

3.sudo htpasswd -c /etc/apache2/.htpasswd seed

Set the passwords and retype it

4.sudo cat /etc/apache2/.htpasswd

5.sudo nano /etc/apache2/sites-available/000-default.conf

After log.combine 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

7.sudo service apache2 restart

Open firefox

Localhost/

It should ask password

You might also like