//Server Program:
#include
#include
#include
#include
#include
#include
#include
int main(int argc,char*argv[])
{
int sockfd,n;
socklen_t len:
char msg [1024],buf[1024];
struct sockaddr_in servaddr, cliaddr;
struct hostent*hp;
sockfd=socket(AF_INET,SOCK_DGRAM,0);
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_addr.s_addr=hton1(INADDR_ANY);
servaddr.sin_port=htons(4056);
bind(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
for(;;)
{
len=sizeof(cliaddr);
n=recvfrom(sockfd,msg,100,0,(struct sockaddr*)&cliaddr,&len);
msg[n]='\0';
printf("%s\n",msg);
if(n<0)
{
perror("send error message");
}
if((hp=gethostbyname(msg)==NULL)
{
printf("cant' get addr");
}
if(inet_ntop(AF_INET,hp->_addr_list[0],buf,sizeof(buf))<=0)
{
printf("host address not available");
}
printf("%s",buf);
sendto(sockfd,buz,sizeof(buf),0,(struct sockaddr")&cliaddr,len);
}
if(connect(sockfd,(struct sockaddr*)&serv,sizeof(serv))<())
{
printf("\n Error!Conx not established...\n");
exit (0);
}
printf("\n connected...sending file name %s \n",argv[3]);
write(sockfd,argv[3],strlen(argv[3]));
read(sockfd,s,3);
write(sockfd,argv[4],strlen(argv[4]));
str1[0]='\0';
while((n=read(sockfd,str,100))>0)
{
strn[n]='\0';
printf("%s\n"'str);
write(sockfd,str,strlen(str));
}
if(n<0)
printf("\n Read errof...\n");
exit(0);
}
//Client program
#include
#include
#include
#include
#include
#include
#define MAXLINE 1024
int main(int argc,char**argv[])
{
int sockfd,n,;
socklen_tlen;
char sendline[1024],recvline[1024];
struct sockaddr_in servaddr;
printf("Enter the domain name:");
scanf("%s",sendline);
sockfd=socket(AF_INET,SOCK_DGRAM,0);
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(4189);
if(inet_pton(AF_INET,argv[1],&servaddr.sin_addr))<=0)
{
printf("Error in conversion");
exit(0);
}
len=sizeof(servaddr);
sendto(sockfd,sendline,strlen(sendline),0,(struct sockaddr*)&servaddr,len);
n=recvfrom(sockfd,recvline,MAXLINE,0,NULL,NULL);
recvline[n]='\0';
printf("The IPADDR of the domain server is %s\n".recvline):
return 0:
)
|