有没有人知道NETLINK Sockets API for MAC OS X的等价物?我正在尝试将Linux应用程序移植到MACOS上,但在MACOS中找不到任何类似的东西。
我需要在应用程序中提供对网络适配器的异步访问。
每隔几秒钟轮询一次网络适配器的配置变化等,对我来说不是一个方便的解决方案。NETLINK Socket API游戏我只有在发生有趣的事情时才能收到通知。
我知道NETLINK是Linux特有的在Linux内核和用户空间之间进行通信的东西,但在MACOS下可能存在类似NETLINK的东西。
我看到了与内核通信的唯一工具- sysctl()
有谁有什么消息吗?
发布于 2011-01-09 01:18:38
您可以使用kernel control architecture,该文档记录在OSX为此提供的文档的NKE部分。
发布于 2010-12-21 20:25:16
执行此操作的传统方法是使用select/poll/epoll/kqueue等待套接字上的事件。关于在什么平台上最好的选择,请看下面的答案:select vs poll vs epoll。
或者,为每个连接派生一个新线程,并使用阻塞套接字读取。然而,历史告诉我们,与通过选择/轮询/kqueue的非阻塞I/O相比,这种方法的可扩展性较差。这是大多数人在20世纪90年代最初编写网络服务器的方式。根据您的编码风格,阻塞I/O +线程可能更容易使用。
请注意,与其名称相反,epoll不是轮询。
https://stackoverflow.com/questions/4498994
复制相似问题