Bonjour a tous,
Alors voilà je suis étudiant en BTS IRIS 2ième année et pour mon projet de fin d'année, je travail sur une maison domotique.
Après de nombreuses recherches, je suis enfin parvenu à trouver un code me permettant d'afficher mes trames de mon bus KNX.
J'ai commencé à le tester et à le commenter pour le comprendre, afin de pouvoir le modifier a mes attente.

Mais voilà ligne 50 j'ai un : "thread.sleep(100000);"
En testant j'ai constaté qu'en augmentant la valeur mon programme duré plus longtemps et réceptionnait plus de trames.
Or quand j'ai consulté la doc java sur Thread, sleep est ,d'après se que j'ai compris, censé "endormir" un thread alors pourquoi je réceptionne toujours ?
(code ligne 35 à 42)

Et comment puis-je faire pour ne plus avoir d’arrêt, cad que j'affiche en continu ??

Merci d'avance de votre aide ^^

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
 
public class Main
{
    public static void main(String[] args)
    {
        KNXNetworkLinkIP netLinkIp = null;
        try
        {
            System.out.println( );
            //Cree un lien nouveau reseau base sur le protocole KNX/IP, en utilisant un KNXnetIPConnection.
            //KNXnetIPConnection : Interface pour travailler avec les réseaux KNX via une connexion réseau IP.
            //L'échange de données (envoi et réception) se fait à travers des messages de CEMI.
            //Les événements asynchrones ou entrant sont relayés vers les listener enregistrés.
			    //Mode de fonctionnement ici en tunnel.
            netLinkIp = new KNXNetworkLinkIP( KNXNetworkLinkIP.TUNNEL,
			    //Adresse IP de l'ordinateur local.
			    new InetSocketAddress(InetAddress.getByName(" IP Local "), 0),
                            //Adresse IP de l'ordinateur distant.
			    new InetSocketAddress(InetAddress.getByName("IP Distante "),KNXnetIPConnection.IP_PORT),
			    //Boolean useNAT
			    false,
			    //Fournit les paramètres nécessaires à la communication sur les TP (paire torsadée) à moyen terme.
			    //Ce type est utilisé pour les réglages médium paire torsadée TP0 (false) et TP1 (true).
			    new TPSettings(false));
            System.out.println("*** Connected ***");
	    //Fournit un processus de communication avec un réseau KNX.
            ProcessCommunicator pc = new ProcessCommunicatorImpl(netLinkIp);
	    //Ajoute un Listener sur netLinkIP
            netLinkIp.addLinkListener(
                    new NetworkLinkListener( )
                    {
                        @Override public void confirmation(FrameEvent arg0)
                        {
			}
                        @Override public void indication(FrameEvent arg0)
                        {
			//Execute a chaque reception de trame KNX
                            System.out.println("srcadress " + arg0.getSource( ));
                            System.out.println(arg0.getSource( ).getClass( ));
	                    System.out.println("targetadress " + ((tuwien.auto.calimero.cemi.CEMILData)arg0.getFrame( )).getDestination( ));
			    System.out.println("PayLoad : " + ((tuwien.auto.calimero.cemi.CEMILData)arg0.getFrame( )).getPayload( ) );
                        }
                        @Override public void linkClosed(CloseEvent arg0)
			{
			}
                    });
                    try
                    {
                        Thread.sleep(100000);
                    }
                    catch (InterruptedException e)
                    {
                        e.printStackTrace( );
                    }
                    netLinkIp.close( );
        }
        catch (KNXLinkClosedException e)
        {
            e.printStackTrace( );
        }
        catch (KNXFormatException e)
        {
            e.printStackTrace( );
        }
        catch (KNXException e)
        {
            e.printStackTrace( );
        }
        catch (UnknownHostException e)
        {
            e.printStackTrace( );
        }
        finally
        {
            if (netLinkIp != null)
            {
                netLinkIp.close( ); System.out.println("Connexion closed");
            }
        }
    }
}