Sunday, 20 March 2011

NPM- 3rd ex

3rd ex-


PROGRAM:

SERVER:

#include<sys/socket.h>
#include<stdio.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<sys/types.h>
int main()
{
char buff[50];
socklen_t clilen;
struct sockaddr_in servaddr,cliaddr;
int sockfd,bfd,lfd,connfd,n;
time_t currenttime;
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)
printf("socket not created");
else
printf("created socket is %d\n",sockfd);
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(8999);
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
bfd=bind(sockfd,(const struct sockaddr*)&servaddr,sizeof(servaddr));
if(bfd<0)
printf("not bound sucessfully");
else
printf("\n binding %d\n",bfd);
lfd=listen(sockfd,5);
printf("listening %d\n",lfd);
for(;;)
{
connfd=-1;
clilen=sizeof(cliaddr);
connfd=accept(sockfd,(struct sockaddr*)&cliaddr,&clilen);
if(connfd<0)
printf("connected socket %d\n",connfd);
currenttime=time(&cliaddr);
snprintf(buff,sizeof(buff),"%24s\n\n",ctime(&currenttime));
n=write(connfd,buff,sizeof(buff));
exit(0);
}
close(connfd);
}


 
CLIENT:

#include<sys/socket.h>
#include<stdio.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<sys/types.h>
int main(int argc,char **argv)
{
 int sockfd,n,connfd;
 char msg[50];
 struct sockaddr_in servaddr;
 if(argc!=3)
 printf("argument error");
 sockfd=socket(AF_INET,SOCK_STREAM,0);
 printf("socket descriptor %d\n",sockfd);
 bzero(&servaddr,sizeof(servaddr));
 servaddr.sin_family=AF_INET;
 servaddr.sin_port=htons(atoi(argv[2]));
 inet_pton(AF_INET,argv[1],&servaddr.sin_addr);
 connfd=connect(sockfd,(const struct sockaddr*)&servaddr,sizeof(servaddr)
);
 if(connfd<0)
 printf("not connected");
 else
 printf("connected socket %d\n",connfd);
 n=recv(sockfd,msg,30,0);
 printf("%24s\n",msg);
}



OUTPUT:

SERVER:

[it86091@vecit ~]$ cc program3a.c
[it86091@vecit ~]$ ./a.out
created socket is 3

 binding 0
listening 0

[it86091@vecit ~]$

CLIENT:

[it86091@vecit ~]$ cc program3b.c
[it86091@vecit ~]$ ./a.out 172.16.6.4 8999
socket descriptor 3
connected socket 0
Tue Jan  1 13:34:56 2002

[it86091@vecit ~]$





No comments:

Post a Comment