Как искать сеть в Android Studio при использовании сокета? - PullRequest
0 голосов
/ 30 сентября 2019
    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();
    }

Я использую приведенный выше код для подключения к желаемому IP [192.168.1.3] ... Я создал другую программу на другом конце ... Проблема в том, что IP иногда меняется на 192.168.1.4 или192.168.1.6 ... и когда я использую другую сеть, она меняется на 192.168.43.2 ... теперь из-за этого мне приходится каждый раз заходить в код и менять его вручную .... Есть ли какая-либо функция или что-то другое? который может искать доступные IP-адреса, затем проверить, существует ли нужный порт, а затем подключиться ... Заранее спасибо

1 Ответ

0 голосов
/ 30 сентября 2019

Вот почему DNS-имена существуют. Если вы используете IP-адрес, вы должны использовать именно этот адрес. Если вы используете DNS, вы делаете поиск по имени-> IP. Получите динамический DNS-провайдер и используйте его, чтобы дать вашему серверу имя.

Вы действительно не хотите запускать сканирование портов, чтобы найти открытые порты. Вас будут рассматривать как злоумышленника и выгнать из сети, потому что вы действительно будете делать то, что делают злоумышленники.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...