IPv6 Connect
-
Hi, ich habe hier:
http://download.oracle.com/javase/1.5.0/docs/guide/net/ipv6_guide/index.htmldas gefunden und bin leicht verwirrt.
Modified IPv6-aware C code: struct addrinfo *res, *aip; struct addrinfo hints; int sock = -1; int error; /* Get host address. Any type of address will do. */ bzero(&hints, sizeof(hints)); hints.ai_flags = AI_ALL|AI_ADDRCONFIG; hints.ai_socktype = SOCK_STREAM; error = getaddrinfo(hostname, servicename, &hints, &res); if (error != 0) { (void) fprintf(stderr, "getaddrinfo: %s for host %s service %s\n", gai_strerror(error), hostname, servicename); return (-1); } /* Try all returned addresses until one works */ for (aip = res; aip != NULL; aip = aip->ai_next) { /* * Open socket. The address type depends on what * getaddrinfo() gave us. */ sock = socket(aip->ai_family, aip->ai_socktype, aip->ai_protocol); if (sock == -1) { perror("socket"); freeaddrinfo(res); return (-1); } /* Connect to the host. */ if (connect(sock, aip->ai_addr, aip->ai_addrlen) == -1) { perror("connect"); (void) close(sock); sock = -1; continue; } break; } freeaddrinfo(res);wo wird dabei der port der verbindung bestimmt?
und geht das überhaupt so? ich wäre jetzt einen ansatz über sockaddrin6 gefahren
-
servicename == Port als String
-
Vielen Dank !!!