rc=connect(s, result->ai_addr, result->ai_addrlen);

Trecho:
SOCKET s;
struct addrinfo    hints, *result;
int    rc;
memset(&hints, 0, sizeof(hints));
hints.ai_flags    = AI_CANONNAME;
hints.ai_family   = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
rc = getaddrinfo("foobar", "5001", &hints, &result);
if(rc != 0) {
    //Incapaz de resolver o nome
}
s=socket(result->ai_family,result->ai_socktype,result->ai_protocol);
if(s == INVALID_SOCKET) {
    //API do soquete falhou
}
rc=connect(s, result->ai_addr, result->ai_addrlen);
if(rc == SOCKET_ERROR) {
    //connect API failed
}
freeaddrinfo(result);



Comentários