Pregunta

¿Alguien sabe equivalente para NETLINK API de sockets para Mac OS X? Estoy tratando de puerto de la aplicación de Linux a Mac OS X y no pude encontrar nada similar en MacOS.

necesito proporcionar el acceso asíncrono al adaptador de red en mi solicitud.

adaptador de red de sondeo acerca de los cambios de configuración, etc. cada cierta cantidad de segundos no es una solución conveniente para mí. NETLINK zócalo juego API mí manera de recibir la notificación sólo cuando sucedió algo interesante.

Sé que NETLINK es algo específico de Linux para la comunicación entre el núcleo de Linux y el espacio de usuario, pero tal vez no es existir algo así como NETLINK bajo MacOS.

Veo el la única herramienta para comunicarse con el núcleo - sysctl ()

¿Alguien tiene alguna información?

¿Fue útil?

Solución

Puede utilizar el control de kernel arquitectura que se documenta en la sección NKE de sus docs que OSX proporciona por esa razón.

Otros consejos

La forma tradicional de hacer esto es que esperar a que los acontecimientos en el zócalo usando selección / encuesta / epoll / kqueue. Ver esta respuesta para lo que es mejor en qué plataforma: seleccione vs vs sondeo epoll <. / p>

Alternativamente, generar un nuevo hilo para cada conexión y el uso socket de bloqueo lee. Sin embargo, la historia nos ha enseñado que esto es menos escalable que no bloqueante de E / S a través de seleccionar / encuesta / kqueue. Esta era la forma en la mayoría de la gente escribió originalmente servidores de red en la década de 1990. Dependiendo de su estilo de programación, el bloqueo de E / S + hilos pueden ser más fáciles de trabajar.

Nota que, contrariamente a su nombre, no es epoll de votación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top