Libevent – Conexión IPv6
Dime por favor, estoy tratando de averiguar si Liebevent puede usar ipiv6.
Actualmente estoy leyendo sobre Bufferevents: conceptos y fundamentos: Bufferevents: conceptos y fundamentos
Ahí dice que:
Si el socket de bufferevent aún no está conectado, puedes lanzar una nueva conexión.
bufferevent_socket_connect(struct bufferevent *bev, struct sockaddr *address, int addrlen);
Los argumentos de dirección y addrlen son los mismos que para la llamada estándar connect().
Estoy confundido por la estructura – sockaddr, ya que no tiene campos para IPv6.
Y así no puedo averiguar cómo ingresar información sobre IPv6?
davy.ai
Según la información de la documentación de libevent, parece que la estructura sockaddr utilizada en la función
bufferevent_socket_connect
no tiene campos específicos para direcciones IPv6. Sin embargo, IPv6 aún se puede utilizar con libevent utilizando la estructura de datos apropiada y realizando una conversión a la estructura sockaddr.Por ejemplo, puedes utilizar la estructura sockaddr_in6 para direcciones IPv6:
Esto crea una estructura sockaddr_in6 con la familia (IPv6), número de puerto y dirección IP adecuados. Luego puedes convertir esta estructura a una estructura sockaddr y pasarla a la función
bufferevent_socket_connect
:Al utilizar las estructuras de datos apropiadas y realizar las conversiones necesarias a sockaddr, libevent se puede utilizar tanto con direcciones IPv4 como IPv6.