Question

Quelqu'un sait-il équivalent pour API NETLINK Sockets pour MAC OS X? Je suis en train de ports application Linux pour MAC OS X et je ne pouvais pas trouver quelque chose de semblable dans MacOs.

Je dois fournir un accès asynchrone à l'adaptateur réseau dans mon application.

adaptateur réseau de relève des changements de configuration, etc. chaque certaine quantité de secondes ne sont pas une solution pratique pour moi. NETLINK Socket façon me jeu d'API pour recevoir une notification uniquement si intéressante quelque chose est arrivé.

Je sais que NETLINK est chose spécifique Linux pour communiquer entre Linux noyau et l'espace utilisateur, mais peut-être il y a quelque chose comme exist NETLINK sous Mac OS.

Je vois le seul outil pour communiquer avec le noyau - sysctl ()

Quelqu'un at-il d'info?

Était-ce utile?

La solution

Vous pouvez utiliser le l'architecture contrôle du noyau qui est décrite dans la section NKE de leurs documents que OSX fournit pour cette raison.

Autres conseils

La façon traditionnelle de faire est d'attendre des événements sur la prise en utilisant select / poll / epoll / kqueue. Voir cette réponse pour ce qui est mieux sur quelle plate-forme: sélectionner vs vs sondage epoll <. / p>

En variante, lancer un nouveau thread pour chaque connexion et l'utilisation lit douille de blocage. Bien que, l'histoire nous a appris que cela est moins évolutif que non bloquante E / S par sélectionner / poll / kqueue. Ce fut la façon dont la plupart des gens ont écrit à l'origine des serveurs de réseau dans les années 1990. En fonction de votre style de codage, E / S + bloquais fils peut être plus facile de travailler avec.

Notez que contrairement à son nom, epoll ne interroge pas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top