#include #include #include #include #include #include #include #include //./client_app stud*** "port" #define DATA "Hello, World!" int main(int argc, char *argv[]){ int sock; struct sockaddr_in server; struct hostent *hp; char buf[1024]; if (argc < 3) { printf("c_inet hostname port [data]\n"); _exit(1); } if((sock = socket( AF_INET, SOCK_STREAM, 0)) == -1) { perror("opening stream socket"); exit(1); } hp=malloc(sizeof(struct hostent)); server.sin_family = AF_INET; hp = gethostbyname(argv[1]); if (hp == (struct hostent *) 0) { fprintf(stderr, "%s: unknown host\n", argv[1]); exit(2); } memcpy((char *) &server.sin_addr, (char *) hp->h_addr, hp->h_length); server.sin_port = htons(atoi(argv[2])); if (connect(sock, (struct sockaddr *) &server, sizeof server) == -1) { perror("connecting stream socket"); exit(1); } getchar(); memset(buf,0,1024); if (argc > 3){ printf("[%s]\n",argv[3]); strcpy(buf,argv[3]); }else{ strcpy(buf,DATA); } if (write(sock, buf, strlen(buf)) == -1) perror("writing on stream socket"); close(sock); exit(0); }