Frage

Weiß jemand, Äquivalent für NETLINK Sockets API für MAC OS X? Ich versuche zu portieren Linux-Anwendung auf Mac OS X, und ich kann nichts Vergleichbares in MACOS finden.

ich brauche asynchronen Zugriff auf den Netzwerkadapter in meiner Anwendung zu liefern.

Polling-Netzwerkadapter über Konfigurationsänderungen usw. jede bestimmte Anzahl von Sekunden sind nicht bequeme Lösung für mich. NETLINK Socket API Spiel mir Art und Weise eine Benachrichtigung zu erhalten, nur wenn etwas Interessantes passiert.

Ich weiß, dass NETLINK Linux spezifische Sache ist zwischen Linux-Kernel und Userspace zu kommunizieren, aber vielleicht gibt es so etwas wie exist NETLINK unter MACOS.

Ich sehe das das einzige Werkzeug, mit dem Kernel zu kommunizieren - sysctl ()

hat jemand irgendwelche Informationen?

War es hilfreich?

Lösung

Sie können mit der kernel Steuerungsarchitektur die im NKE Abschnitt ihrer Dokumente dokumentiert ist, dass OSX aus diesem Grund bietet.

Andere Tipps

Der traditionelle Weg, dies zu tun, ist für Veranstaltungen auf dem Sockel zu warten, mit select / poll / epoll / kqueue. Sehen Sie diese Antwort für das, was ist am besten auf welcher Plattform: wählen vs Umfrage vs epoll <. / p>

Alternativ Laichen einen neuen Thread für jede Verbindung und die Verwendung blockierenden Socket liest. Obwohl, Geschichte hat uns gelehrt, dass dies weniger skalierbar als non-blocking I / O über wählen / poll / kqueue. Das war die Art und Weise der meisten Menschen ursprünglich Netzwerk-Server in den 1990er Jahren schrieben. Je nach Ihrer Codierstil, Sperrung I / O + Threads Arbeit leichter sein kann, mit.

Beachten Sie, dass im Gegensatz zu seinem Namen, epoll nicht Polling ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top