Java 如何在android studio中使用socket搜索网络?

Java 如何在android studio中使用socket搜索网络?,java,android,android-studio,sockets,networking,Java,Android,Android Studio,Sockets,Networking,我正在使用上述代码连接到所需的IP[192.168.1.3]。。。我在另一端创建了另一个程序。。。问题是IP有时会更改为192.168.1.4或192.168.1.6。。。当我使用另一个网络时,它会变为192.168.43.2。。。现在由于这个原因,我不得不每次进入代码并手动更改它。。。。 是否有任何功能或任何其他东西可以搜索可用的IP,然后检查所需的端口是否存在,然后连接提前感谢这就是DNS名称存在的原因。如果您使用IP地址,则必须使用该确切地址。如果使用DNS,则执行名称->IP查找。获取一

我正在使用上述代码连接到所需的IP[192.168.1.3]。。。我在另一端创建了另一个程序。。。问题是IP有时会更改为192.168.1.4或192.168.1.6。。。当我使用另一个网络时,它会变为192.168.43.2。。。现在由于这个原因,我不得不每次进入代码并手动更改它。。。。
是否有任何功能或任何其他东西可以搜索可用的IP,然后检查所需的端口是否存在,然后连接提前感谢

这就是DNS名称存在的原因。如果您使用IP地址,则必须使用该确切地址。如果使用DNS,则执行名称->IP查找。获取一个动态DNS提供程序,并使用它为您的服务器命名

您确实不想启动端口扫描来查找打开的端口。您将被视为攻击者并被踢出网络,因为您确实在做攻击者所做的事情

    public void connect() {

        final String msg = "";
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {

                try {
                    s = new Socket("192.168.1.3", 1337);
                    textView.setText("Connection acquired");
                    out = s.getOutputStream();
                    output = new PrintWriter(out);
                    output.println(msg);
                    textView.setText("message sent : " + msg.length());
                    output.flush();

                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });
        thread.start();
    }