#include #include #include #include #include #include void error(char *msg) { perror(msg); exit(0); } int main(int argc,char *argv[]) { int sockfd,portno,n; struct sockaddr_in serv_addr; struct hostent *server; char buffer[256],buf[2000]; if(argc<3) { fprintf(stderr,"uasge %s hostname port\n",argv[0]); exit(0); } portno=atoi(argv[2]); sockfd=socket(AF_INET,SOCK_STREAM,0); if(sockfd<0) error("error opening socket"); printf("\n client online!\n"); server=gethostbyname(argv[1]); if(server==NULL) { fprintf(stderr,"no such host exist\n"); exit(0); } printf("server online\n"); bzero((struct sockaddr_in *)&serv_addr,sizeof(serv_addr)); serv_addr.sin_family=AF_INET; bcopy((char *)server->h_addr,(char *)&serv_addr.sin_addr.s_addr,server->h_length); serv_addr.sin_port=htons(portno); if(connect(sockfd,&serv_addr,sizeof(serv_addr))<0) error("error connecting"); printf("client :enter path with filename\n"); scanf("%s",buffer); puts(buffer); n=write(sockfd,buffer,strlen(buffer)); if(n<0) error("error writing to socket\n"); bzero(buf,2000); n=read(sockfd,buf,1999); if(n<0) error("error reading from socket"); printf("client:display conents of %s\n",buffer); fputs(buf,stdout); return 0; }