#define MAXDATASIZE 100 /* Max number of bytes of data */ int start_socket() { int fd, numbytes; /* files descriptors */ char buf[MAXDATASIZE]; /* buf will store received text */ struct hostent *he; /* structure that will get information about remote host */ struct sockaddr_in server; /* server's address information */ if ((he=gethostbyname(SERVER))==NULL){ /* calls gethostbyname() */ printf("gethostbyname() error\n"); exit(-1); } if ((fd=socket(AF_INET, SOCK_STREAM, 0))==-1){ /* calls socket() */ printf("socket() error\n"); exit(-1); } server.sin_family = AF_INET; server.sin_port = htons(PORT); /* htons() is needed again */ server.sin_addr = *((struct in_addr *)he->h_addr); /*he->h_addr passes "*he"'s info to "h_addr" */ bzero(&(server.sin_zero),8); if(connect(fd, (struct sockaddr *)&server,sizeof(struct sockaddr))==-1){ /* calls connect() */ perror("connect() error"); exit(-1); } return fd; }