Bonjour à tous,
J'ai une appli android qui ouvre une socket pour envoyer des données à un programme situé sur un pc.
Quand j'ouvre une socket avec un mauvais n° de IP, il n'y a pas d'exception mais les données n'aboutissent pas.
Donc, je voudrais vérifier que l'adresse IP désirée est effectivement utilisée.
Le pb, c'est que le test effectué (voir ci-dessous) donne toujours une réponse négative (serveur pas OK) alors que je teste en sachant que l'adresse 192.168.x.y est utilisable.
Par contre, cela fonctionne bien avec l'adresse localhost 127.0.0.1
Quelqu'un peut-il me dire ce qui ne va pas dans le code?
Voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
    public OnClickListener Check2_Listener = new OnClickListener() {
        @Override
        public void onClick(View v) {
            Thread t = new Thread() {
                @Override
                public void run() {
                InetAddress in;
                in = null;
 
            try {
                in =InetAddress.getByName(SERVER_IP);
                final InetAddress finalIn = in;
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        MessageOK.setText(finalIn.toString());
                    }
                });
            } catch (IOException e) {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        MessageOK.setText("ioe");
                    }
                });
            }
            try {
                if (in.isReachable(5000)) {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            MessageOK.setText("Serveur OK.");
                        }
                    });
                } else {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            MessageOK.setText("Serveur pas OK.");
                        }
                    });
                }        } catch (IOException e) {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        MessageOK.setText("ioe.");
                    }
                });
            }
                }
            };
            t.start();
        }
    };
Dans l'attente de vous lire.
Passy261