質問

Mac OS XのNetLink Sockets APIに相当する人がいる人はいますか?私はLinuxアプリケーションをMac OS Xに移植しようとしていますが、MacOSで同様のものは見つかりませんでした。

アプリケーションでネットワークアダプターへの非同期アクセスを提供する必要があります。

構成の変更などに関するポーリングネットワークアダプターは、一定の秒ごとに便利なソリューションではありません。 NetLink Socket APIゲーム私は、何か面白いことが起こったときだけ通知を受け取る方法です。

NetlinkはLinuxカーネルとユーザースペースの間で通信するLinux固有のものであることを知っていますが、MacOSの下にはNetlinkのようなものが存在する可能性があります。

カーネルと通信する唯一のツール-sysctl()が表示されます

誰かが情報を持っていますか?

役に立ちましたか?

解決

使用できます カーネル制御アーキテクチャ これは、OSXがその理由で提供するドキュメントのNKEセクションに文書化されています。

他のヒント

これを行う従来の方法は、Select/Poll/Epoll/Kqueueを使用してソケットのイベントを待つことです。どのプラットフォームで最善かについてこの答えを参照してください: 投票]とEpollを選択します.

または、接続ごとに新しいスレッドを生成し、ブロッキングソケットの読み取りを使用します。しかし、歴史は、これがSelect/Poll/Kqueueを介して非ブロッキングI/Oよりもスケーラブルではないことを教えてくれました。これは、ほとんどの人が1990年代にネットワークサーバーを最初に書いた方法でした。コーディングスタイルに応じて、I/O +スレッドをブロックする方が簡単な場合があります。

その名前に反して、エポールは投票していないことに注意してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top