#include "./stdinc.h" const int PORT = 3490; // client connects to this port const int MAXDATASIZE = 100; // input buffer size int main(int argc, char *argv[]) { char *usage = "Usage: client Hostname\n"; int sd, numbytes; char buf[MAXDATASIZE+1]; struct hostent *he; struct sockaddr_in srvAddr; // server's address if (argc != 2) Fatal(usage); if ((he=gethostbyname(argv[1])) == NULL) // get host info Fatal("gethostbyname"); if ((sd = socket(AF_INET, SOCK_STREAM, 0)) == -1) FatalPerror("socket"); srvAddr.sin_family = AF_INET; // HBO srvAddr.sin_port = htons(PORT); // short, NBO srvAddr.sin_addr = *((struct in_addr *)he->h_addr); bzero(&(srvAddr.sin_zero), 8); // 0 rest of struct if (connect(sd, (struct sockaddr *)&srvAddr, sizeof(struct sockaddr)) == -1) FatalPerror("connect"); if ((numbytes=recv(sd, buf, MAXDATASIZE, 0)) == -1) FatalPerror("recv"); buf[numbytes] = '\0'; printf("Received: %s",buf); close(sd); return 0; }