2010-02-10 10 views

답변

5

,

struct addrinfo { 
    int    ai_flags; 
    int    ai_family; 
    int    ai_socktype; 
    int    ai_protocol; 
    size_t   ai_addrlen; 
    struct sockaddr *ai_addr; 
    char   *ai_canonname; 
    struct addrinfo *ai_next; 
}; 

struct addrinfo 그냥 struct sockaddr가보다 더 많은 정보를 포함하고 있습니다. struct sockaddr_in이 있으면이 정보 중 일부를 사용할 수 있습니다 (.ai_family = AF_INET, .ai_addrlen = sizeof(struct sockaddr_in)). 이것이 충분한 지 여부는 다른 API가 찾고있는 것에 달려 있습니다.

+1

예, 새로운 addrinfo를 작성하고 sockaddr을 * ai_addr에 넣고 다른 필드를 적당한 값으로 채우는 것이 좋습니다. – bortzmeyer