기본 소켓 호출을 시도하고 google.com에 연결하려고하지만 연결 호출이 항상 실패하고 -1을 반환합니다. 왜 실패해야하는지에 대한 이유연결이 실패하는 이유는 무엇입니까?
int main()
{
int sockfd;
struct addrinfo *ai;
char port[4];
if(sockfd = socket(AF_INET, SOCK_STREAM, 0) < 0) {
printf("socket return -1");
}
sprintf(port, "%d", 80);
if(getaddrinfo("www.google.com", port, NULL, &ai) < 0)
printf("-2\n");
if(connect(sockfd, ai->ai_addr, sizeof(*ai->ai_addr)) < 0)
printf("connect failed -1");
}
'sizeof (ai-> ai_addr)'을 사용해보세요. 또한'getaddrinfo()'다음에'ai'에있는 내용을 인쇄하여 합리적인지 확인하십시오. – EJP