De Beej's Guide to Network programming¿Cuáles serían las desventajas/riesgos de usar AF_UNSPEC?
Puede forzar que se use IPv4 o IPv6 en el campo ai_family, o dejarlo como AF_UNSPEC utilizar lo que sea. Esto es genial porque su código puede ser independiente de la versión de IP.
como dice el título - ¿cuáles serían las desventajas (o riesgos, si los hay) de utilizar siempre AF_UNSPEC
, en lugar de especificar IPv4 o IPv6?
O solo por una razón: si se especifica la versión, ¿esto garantizará que esto y solo esta versión sea compatible?
Un poco de historia - Pienso acerca añadiendo soporte para IPv6 en cliente-servidor (C++) aplicaciones y ambas versiones deben ser apoyados. Así que me preguntaba si está bien usar AF_UNSPEC
o es mejor "reconocer" la dirección de la cadena y usar AF_INET6
o AF_INET
, dependiendo de la dirección.
Gracias. Cambié una de las etiquetas a 'unix'. Entonces, mi pregunta es sobre Linux. Intenté con 'AF_UNSPEC' y parece funcionar perfecto para ambas versiones. Me pregunto si puedo usarlo así, o si es mejor tratar con varios enchufes. –
Mire http://stackoverflow.com/questions/8113805/usage-of-getaddrinfo-with-ai-passive. Escribí una conclusión al respecto ... – glglgl
Ah, ya veo. Me llevó tanto tiempo entender qué es exactamente lo que quiere decir: D Soy un poco nuevo en la programación de redes. Gracias, +1 y aceptado (aunque esto en realidad no responde a la pregunta en su título, pero me ayudó a aclarar mi mente :)) –