struct addrinfo h, *r, *p;
…
for(p = r; p; p = p->ai_next) {
if ((sockfd = socket(p->ai_family, p->ai_socktype,
p->ai_protocol)) == -1) {
perror("socket");
continue;
}
if (connect(sockfd, p->ai_addr, p->ai_addrlen) == -1) {
close(sockfd);
perror("connect");
continue;
}
break;
}
if (!p == NULL) return -1;
freeaddrinfo(r);
char *msg = malloc(2048);
char *res = RESOURCE;
snprintf(msg, 2047, "GET %s HTTP/1.1\r\n", res);
if(send(sockfd, msg, strlen(msg), 0) != strlen(msg)){perror("send");}
while((n = read(sockfd, recvBuff, sizeof(recvBuff)-1)) > 0){
recvBuff[n] = 0;
if(fputs(recvBuff, stdout) == EOF) printf("\n Error : Fputs error\n");
}
if(n < 0) printf("\n Read error \n");