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

#define MAXLEN 1024


main(int argc, char **argv)
{

int sockfd,recvfd;
char tosend[MAXLEN];
char recved[MAXLEN+100];
struct sockaddr_in servaddr;
struct hostent *destaddr;

if((destaddr = gethostbyname(argv[1])) == 0 )
    {
    perror("gethostbyname");
    exit(-1);
    }




if(( sockfd = socket(AF_INET,SOCK_STREAM, 0))<0)
    {
    perror("socket");
    }
    
memset(&servaddr, '\0',sizeof(servaddr));
    
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(atoi(argv[2]));
servaddr.sin_addr = *((struct in_addr*)destaddr->h_addr);

        
    if((connect(sockfd,(struct sockaddr *)&servaddr, sizeof(servaddr))) < 0)
	{
        perror("connect");
	exit(-1);
        }
    for(;;)
    {
    
    scanf("%s",&tosend);
    write(sockfd,tosend,strlen(tosend));
    memset(&recved,'\0',sizeof(recved));
    read(sockfd,recved, sizeof(recved));
    if(!strcmp(recved,"EOT"))
	{
	close(sockfd);
	exit(0);
	}
    printf("%s",recved);
    
    
    }
    
    close(sockfd);
    exit(0);
}

