gpt4 book ai didi

java - 如何判断网络适配器是否是无线的?

转载 作者:行者123 更新时间:2023-12-01 16:11:09 24 4
gpt4 key购买 nike

有多种方法可以获取计算机的网络适配器和相关信息,例如 Sigar 和 java.net 的 getNetworkInterfaces()。但是,使用这两种方法中的任何一种,我都无法确定某个适配器是否是无线的(除非名称/描述明确说明如此)。

有什么方法可以通过代码来确定这一点吗? (我希望能够在 Windows 和 Linux 中执行此操作,但我愿意处理特定于系统的解决方案)。

最佳答案

编辑:删除了不相关的部分

也许您可以使用 JNI(java native 接口(interface))来调用获取此标志的 C 函数...使用 C,这应该是可能的(尽管代码可能会变得不可移植)

编辑:对于Linux,我发现了以下内容。下载wireless-tools的源代码,包括iwconfig。它们包含库 iwlib.c,只需从/proc/net/wireless 或/proc/net/dev 中提取接口(interface)的名称

您可以从here获取来源,这是来自 Fedora 的。当库从标准化文件系统的路径中提取数据时,您唯一需要的是对 procfs 的内核支持。

现在我只能引导你到文件“iwlib.c”,函数

void iw_enum_devices(int skfd, iw_enum_handler fn, char * args[], int count)

我不知道这些参数,但源代码有注释。也许您必须将从 java 获得的列表与通过此 JNI-hack 收到的列表进行比较...

我猜这对于一个“小任务”来说是很多工作;希望你能找到出路...

问候

关于java - 如何判断网络适配器是否是无线的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1196824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com