我们正在做一个用 Java 编码的项目(为 JRE 1.6 编译),需要一些帮助
一个有点但明显复杂的功能:
我们希望在连接特定无线网络时执行特定操作,例如当连接的 SSID==“myNetworkAtHome”或类似名称时。
在浏览了这个网站、谷歌和 Java 文档之后,我们已经更接近了一些。
查看这里的代码后:http://download.oracle.com/javase/tutorial/networking/nifs/retriving.html http://download.oracle.com/javase/tutorial/networking/nifs/retrieving.html
看起来我们已经很接近了,但它遇到了死胡同,所有接口似乎都通过“net13”连接到“net0”(在我的笔记本电脑上)。
而且我们根本无法从任何接口获取 SSID。我确实意识到示例中的代码仅给出了接口名称而不是连接的网络,但它似乎没有提供获取连接的网络信息的方法。
对此的任何帮助都会非常有帮助!
您无法在 Java 中访问网络的这种低级详细信息。您可以使用以下命令获取网络接口的一些详细信息NetworkInterface
类,但如果您查看提供的方法,没有人与 Wifi 网络相关,也没有提供任何获取 SSID 的方法。如下所述,您应该通过使用 JNI 调用本机库或使用以下命令调用操作系统工具来使用一些本机功能:Runtime
.
Java 并不是为做这类事情而设计的,很难以独立于平台的方式实现,而且原则上任何硬件级细节都不能在 Java 中管理。
这同样适用于其他网络,如 3G、GPRS……应用程序不应该知道连接类型及其详细信息。 Java只能管理传输(TCP)级别的事物,不能管理网络(IP)也不能管理链路(3G、Wifi、以太网...),因此只能管理套接字。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)