Java Android在本地网络上查找设备

Java Android在本地网络上查找设备,java,android,network-programming,Java,Android,Network Programming,我正在尝试映射本地网络,以查看网络上有多少设备(特别是我构建的设备)以及它们有哪些IP地址。 在这方面,我发现了几种方法: 最后一个链接是我能够使用的,但它不是很可靠(至少不是我的实现)。当我在手机上运行代码时,它很少会在网络上检测到我的设备(几十次尝试中只有几次) 该设备是一个TI CC3200,我将其设置为Web服务器。我能够用笔记本电脑可靠地ping CC3200,并且我几乎100%的时间都可以使用笔记本电脑、手机浏览器或应用程序中的WebView访问CC3200上的网页 我有一个

我正在尝试映射本地网络,以查看网络上有多少设备(特别是我构建的设备)以及它们有哪些IP地址。 在这方面,我发现了几种方法:

最后一个链接是我能够使用的,但它不是很可靠(至少不是我的实现)。当我在手机上运行代码时,它很少会在网络上检测到我的设备(几十次尝试中只有几次)

该设备是一个TI CC3200,我将其设置为Web服务器。我能够用笔记本电脑可靠地ping CC3200,并且我几乎100%的时间都可以使用笔记本电脑、手机浏览器或应用程序中的WebView访问CC3200上的网页

我有一个与CC3200的串行链接,我可以看到应用程序在扫描网络时连接到CC3200

我做错什么了吗?还是有更好的方法来映射本地网络,我应该集中精力

public boolean scan(final String IP) {
    Globals success = Globals.getInstance();
    success.setDataString(IP);
    Thread thread = new Thread(new Runnable() {
        @Override
        public void run() {

            try {
                Globals success = Globals.getInstance();

                URL url = new URL("http://" + IP);
                URLConnection conn = url.openConnection();
                conn.setConnectTimeout(2000);
                conn.setReadTimeout(2000);

                InputStream in = conn.getInputStream();
                success.setDataBool(true);
            } catch (SocketTimeoutException e) {
                Globals success = Globals.getInstance();
                success.setDataBool(false);
                e.printStackTrace();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    });

    thread.start();
    //boolean temp2 = success.getDataBool();
    return success.getDataBool();
}
}

嗨,你解决这个问题了吗?