IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation par agent Java Discussion :

Les communications des agents JADE [Tutoriel]


Sujet :

Programmation par agent Java

  1. #161
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Avril 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Avril 2009
    Messages : 33
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Djug Voir le message
    ah, je crois que j'ai compris le problème;

    la ligne suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byte[] publicKey = rsa.getPublicKeyInBytes();
    génère un tableau qui contient une pair de clé privé et publique,

    actuellement ton code récupère une référence sur ce tableau ([B@1f89785)
    ou lieu de récupérer la clé,

    donc il faut lire la clé à partir du tableau publicKey , puis l'envoyer au 2e agent
    ok , je travail avec celle ci : ftp://ftp-developpez.com/java/sources/MyRSA.java
    j'ai changé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Rsa rsa = new Rsa();
    		    rsa.generateKeyPair();
    		    RSAPublicKey key2 =rsa.getPublicKey();
    voici le résultat de exécution :Main _container :
    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
    82
    Microsoft Windows [version 6.1.7600]
    Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.
     
    C:\Users\admin>java jade.Boot -container
    23 juin 2011 11:03:48 jade.core.Runtime beginContainer
    INFO: ----------------------------------
        This is JADE snapshot - revision $WCREV$ of $WCDATE$
        downloaded in Open Source, under LGPL restrictions,
        at http://jade.tilab.com/
    ----------------------------------------
    23 juin 2011 11:03:48 jade.core.BaseService init
    INFO: Service jade.core.management.AgentManagement initialized
    23 juin 2011 11:03:48 jade.core.BaseService init
    INFO: Service jade.core.messaging.Messaging initialized
    23 juin 2011 11:03:48 jade.core.BaseService init
    INFO: Service jade.core.mobility.AgentMobility initialized
    23 juin 2011 11:03:48 jade.core.BaseService init
    INFO: Service jade.core.event.Notification initialized
    23 juin 2011 11:03:48 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    23 juin 2011 11:03:48 jade.core.AgentContainerImpl joinPlatform
    INFO: --------------------------------------
    Agent container Container-1@admin-HP is ready.
    --------------------------------------------
    AgentService STARTED
    AgentService REGISTERED WITH THE DF
    Att Agent Lanceur
    message recu de Agent Lanceur et registre sous pubkey= [B@e265d0
    23 juin 2011 11:04:23 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    le msg recu de  AV = public key
    message envoyÚ Ó la Agent Vendeur = [B@e265d0
    23 juin 2011 11:05:29 jade.core.Runtime$1 run
    INFO: JADE is closing down now.
     
    C:\Users\admin>java jade.Boot -gui
    23 juin 2011 12:16:51 jade.core.Runtime beginContainer
    INFO: ----------------------------------
        This is JADE snapshot - revision $WCREV$ of $WCDATE$
        downloaded in Open Source, under LGPL restrictions,
        at http://jade.tilab.com/
    ----------------------------------------
    23 juin 2011 12:16:52 jade.core.BaseService init
    INFO: Service jade.core.management.AgentManagement initialized
    23 juin 2011 12:16:52 jade.core.BaseService init
    INFO: Service jade.core.messaging.Messaging initialized
    23 juin 2011 12:16:52 jade.core.BaseService init
    INFO: Service jade.core.mobility.AgentMobility initialized
    23 juin 2011 12:16:52 jade.core.BaseService init
    INFO: Service jade.core.event.Notification initialized
    23 juin 2011 12:16:52 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    23 juin 2011 12:16:53 jade.mtp.http.HTTPServer <init>
    INFO: HTTP-MTP Using XML parser com.sun.org.apache.xerces.internal.jaxp.SAXParse
    rImpl$JAXPSAXParser
    23 juin 2011 12:16:53 jade.core.messaging.MessagingService boot
    INFO: MTP addresses:
    http://admin-HP:7778/acc
    23 juin 2011 12:16:53 jade.core.AgentContainerImpl joinPlatform
    INFO: --------------------------------------
    Agent container Main-Container@admin-HP is ready.
    --------------------------------------------
    23 juin 2011 12:16:56 jade.core.PlatformManagerImpl localAddNode
    INFO: Adding node <Container-1> to the platform
    23 juin 2011 12:16:56 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    23 juin 2011 12:16:56 jade.core.PlatformManagerImpl$1 nodeAdded
    INFO: --- Node <Container-1> ALIVE ---
    Exception in thread "Thread-15" java.lang.ClassCastException: sun.net.www.protoc
    ol.ftp.FtpURLConnection cannot be cast to java.net.JarURLConnection
            at jade.util.ClassFinder.findSubclasses(ClassFinder.java:362)
            at jade.util.ClassFinder.findSubclasses(ClassFinder.java:297)
            at jade.util.ClassFinder.findSubclasses(ClassFinder.java:119)
            at jade.gui.ClassSelectionDialog$ClassUpdater.run(ClassSelectionDialog.j
    ava:119)
            at java.lang.Thread.run(Unknown Source)
     la clÚ public :Sun RSA public key, 1024 bits
      modulus: 921090126562396638831238337497900974121794071138617169989950449945155
    33493018999956081768167459317506073388275006083230484099762839623732835956033721
    51757387442611179311224814607947462490019794390915269392184445676049342644707680
    3059990529247559686179694892654436334715742653717831069548372663114290403678803
      public exponent: 65537
    et dans le Container_1 :
    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
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    Microsoft Windows [version 6.1.7600]
    Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.
     
    C:\Users\admin>java jade.Boot -container
    23 juin 2011 11:03:48 jade.core.Runtime beginContainer
    INFO: ----------------------------------
        This is JADE snapshot - revision $WCREV$ of $WCDATE$
        downloaded in Open Source, under LGPL restrictions,
        at http://jade.tilab.com/
    ----------------------------------------
    23 juin 2011 11:03:48 jade.core.BaseService init
    INFO: Service jade.core.management.AgentManagement initialized
    23 juin 2011 11:03:48 jade.core.BaseService init
    INFO: Service jade.core.messaging.Messaging initialized
    23 juin 2011 11:03:48 jade.core.BaseService init
    INFO: Service jade.core.mobility.AgentMobility initialized
    23 juin 2011 11:03:48 jade.core.BaseService init
    INFO: Service jade.core.event.Notification initialized
    23 juin 2011 11:03:48 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    23 juin 2011 11:03:48 jade.core.AgentContainerImpl joinPlatform
    INFO: --------------------------------------
    Agent container Container-1@admin-HP is ready.
    --------------------------------------------
    AgentService STARTED
    AgentService REGISTERED WITH THE DF
    Att Agent Lanceur
    message recu de Agent Lanceur et registre sous pubkey= [B@e265d0
    23 juin 2011 11:04:23 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    le msg recu de  AV = public key
    message envoyÚ Ó la Agent Vendeur = [B@e265d0
    23 juin 2011 11:05:29 jade.core.Runtime$1 run
    INFO: JADE is closing down now.
     
    C:\Users\admin>java jade.Boot -gui
    23 juin 2011 12:16:51 jade.core.Runtime beginContainer
    INFO: ----------------------------------
        This is JADE snapshot - revision $WCREV$ of $WCDATE$
        downloaded in Open Source, under LGPL restrictions,
        at http://jade.tilab.com/
    ----------------------------------------
    23 juin 2011 12:16:52 jade.core.BaseService init
    INFO: Service jade.core.management.AgentManagement initialized
    23 juin 2011 12:16:52 jade.core.BaseService init
    INFO: Service jade.core.messaging.Messaging initialized
    23 juin 2011 12:16:52 jade.core.BaseService init
    INFO: Service jade.core.mobility.AgentMobility initialized
    23 juin 2011 12:16:52 jade.core.BaseService init
    INFO: Service jade.core.event.Notification initialized
    23 juin 2011 12:16:52 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    23 juin 2011 12:16:53 jade.mtp.http.HTTPServer <init>
    INFO: HTTP-MTP Using XML parser com.sun.org.apache.xerces.internal.jaxp.SAXParse
    rImpl$JAXPSAXParser
    23 juin 2011 12:16:53 jade.core.messaging.MessagingService boot
    INFO: MTP addresses:
    http://admin-HP:7778/acc
    23 juin 2011 12:16:53 jade.core.AgentContainerImpl joinPlatform
    INFO: --------------------------------------
    Agent container Main-Container@admin-HP is ready.
    --------------------------------------------
    23 juin 2011 12:16:56 jade.core.PlatformManagerImpl localAddNode
    INFO: Adding node <Container-1> to the platform
    23 juin 2011 12:16:56 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    23 juin 2011 12:16:56 jade.core.PlatformManagerImpl$1 nodeAdded
    INFO: --- Node <Container-1> ALIVE ---
    Exception in thread "Thread-15" java.lang.ClassCastException: sun.net.www.protoc
    ol.ftp.FtpURLConnection cannot be cast to java.net.JarURLConnection
            at jade.util.ClassFinder.findSubclasses(ClassFinder.java:362)
            at jade.util.ClassFinder.findSubclasses(ClassFinder.java:297)
            at jade.util.ClassFinder.findSubclasses(ClassFinder.java:119)
            at jade.gui.ClassSelectionDialog$ClassUpdater.run(ClassSelectionDialog.j
    ava:119)
            at java.lang.Thread.run(Unknown Source)
     la clÚ public :Sun RSA public key, 1024 bits
      modulus: 921090126562396638831238337497900974121794071138617169989950449945155
    33493018999956081768167459317506073388275006083230484099762839623732835956033721
    51757387442611179311224814607947462490019794390915269392184445676049342644707680
    3059990529247559686179694892654436334715742653717831069548372663114290403678803
      public exponent: 65537L'agent Lanceur vas envoyÚ la clÚ pub @ Agent ServiceSun
     RSA public key, 1024 bits
      modulus: 921090126562396638831238337497900974121794071138617169989950449945155
    33493018999956081768167459317506073388275006083230484099762839623732835956033721
    51757387442611179311224814607947462490019794390915269392184445676049342644707680
    3059990529247559686179694892654436334715742653717831069548372663114290403678803
      public exponent: 65537
    L'agent Lanceur vas envoyÚ la clÚ pub @ Agent ServiceSun RSA public key, 1024 bi
    ts
      modulus: 921090126562396638831238337497900974121794071138617169989950449945155
    33493018999956081768167459317506073388275006083230484099762839623732835956033721
    51757387442611179311224814607947462490019794390915269392184445676049342644707680
    3059990529247559686179694892654436334715742653717831069548372663114290403678803
      public exponent: 65537
    je m 'appel AgentLanceur
    23 juin 2011 12:17:34 jade.core.Runtime beginContainer
    INFO: ----------------------------------
        This is JADE snapshot - revision $WCREV$ of $WCDATE$
        downloaded in Open Source, under LGPL restrictions,
        at http://jade.tilab.com/
    ----------------------------------------
    23 juin 2011 12:17:34 jade.core.BaseService init
    INFO: Service jade.core.management.AgentManagement initialized
    23 juin 2011 12:17:34 jade.core.BaseService init
    INFO: Service jade.core.messaging.Messaging initialized
    23 juin 2011 12:17:34 jade.core.BaseService init
    INFO: Service jade.core.mobility.AgentMobility initialized
    23 juin 2011 12:17:34 jade.core.BaseService init
    INFO: Service jade.core.event.Notification initialized
    23 juin 2011 12:17:34 jade.core.PlatformManagerImpl localAddNode
    INFO: Adding node <Container-2> to the platform
    23 juin 2011 12:17:34 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    23 juin 2011 12:17:34 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    23 juin 2011 12:17:34 jade.core.PlatformManagerImpl$1 nodeAdded
    INFO: --- Node <Container-2> ALIVE ---
    23 juin 2011 12:17:34 jade.mtp.http.HTTPServer <init>
    INFO: HTTP-MTP Using XML parser com.sun.org.apache.xerces.internal.jaxp.SAXParse
    rImpl$JAXPSAXParser
    23 juin 2011 12:17:34 jade.mtp.http.HTTPServer <init>
    ATTENTION: Port 7778 is already in used, selected another one
    23 juin 2011 12:17:34 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    23 juin 2011 12:17:34 jade.core.messaging.MessagingService boot
    INFO: MTP addresses:
    http://admin-HP:57936/acc
    23 juin 2011 12:17:34 jade.core.AgentContainerImpl joinPlatform
    INFO: --------------------------------------
    Agent container Container-2@admin-HP is ready.
    --------------------------------------------
    l
    normalement ça marche sauf la premiere exception , Meeeeerci infiniment msr Djug

  2. #162
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Avril 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Avril 2009
    Messages : 33
    Points : 43
    Points
    43
    Par défaut
    Bonjour ,

    j'ai 4 agent les echanges des messages entre eux se fait tout est bien sauf le dernier voici le code de chaque agent (le cas Ou le msg n'arrive pas)
    > Agent Vendeur demande la clé de l'Agent Service
    quand j'ai exécuté
    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
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
      Agent Vendeur
    package MonPackage;
    
    import java.sql.Connection;
    
    import com.mysql.jdbc.Driver;
    
    import MonPackage.Rsa;
    
    import jade.domain.FIPAAgentManagement.DFAgentDescription;
    public class AgentVendeur extends Agent {
    	 
    protected void setup(){
    	Connection connection;
    	 String prod =null;
    	
    
    //----------------------------------start& registre AV------------------------------------
    final SequentialBehaviour comportementSequentiel = new SequentialBehaviour();
    System.out.println(getLocalName()+" STARTED");
    
    try {
    DFAgentDescription dfd = new DFAgentDescription();
    dfd.setName(getAID());
    // Enregistrement de la description de l'agent dans DF (Directory Facilitator)
    DFService.register(this, dfd);
    System.out.println(getLocalName()+" REGISTERED WITH THE DF");
    } catch (FIPAException e) {
    e.printStackTrace();
    }
    //-------------------------------------waite  msg from de AM  ----------------------------------
    comportementSequentiel.addSubBehaviour(new OneShotBehaviour(){
    	@Override
    public void action() {
    
    		 System.out.println(" Agent Vendeur en Attente  Agent Mobile  ");
    		 ACLMessage msg2Recu =null ;
    		 while (msg2Recu == null){
    		 msg2Recu= receive() ;
    		}
    		 System.out.println(" Agent Vendeur :message recu de Agent Mobile = "+ msg2Recu.getContent());}
    	});
             
    		 
    //----------------------------------------------------------------------------------------------------
            comportementSequentiel.addSubBehaviour(new OneShotBehaviour(){
            	@Override
            	public void action() {
            	 ACLMessage msg3 = new ACLMessage(ACLMessage.INFORM);
           	     msg3.addReceiver(new AID("AgentService", AID.ISLOCALNAME));
           	     msg3.setContent("public key");
           	     send(msg3);
           	     System.out.println("L'agent Vendeur  vas interoger l'Agent Service pour  demandé la clé pub "+msg3.getContent());  
            	}
            	});
            addBehaviour(comportementSequentiel);
     //-----------------------------------------------------------------------------------------------------
            addBehaviour(new CyclicBehaviour(this) {
    			public void action() {
    		    System.out.println("L'agent Vendeur  en attente l'Agent Service  ");  
    			
    			ACLMessage msg = receive(MessageTemplate.MatchPerformative(ACLMessage.INFORM));
    			if (msg != null) {		
    				try {
    				System.out.println(" Agent Vendeur : message recu de Agent Service = "+msg.getContentObject() );
    			    } catch (UnreadableException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			  }	
    			    } 
    			
    			else block();
    			
    			
    			}});
            
     //-------------------------------------------------------------------------------------------------
    				
          /*  comportementSequentiel.addSubBehaviour(new OneShotBehaviour(){
            	@Override
            	public void action() {
            		ACLMessage msg11 = receive(MessageTemplate.MatchPerformative(ACLMessage.INFORM));
            		System.out.println("L'agent Vendeur  attente l'Agent Service  ");  
    		         while (msg11== null){	msg11 = receive() ;}
    		  
    		         try {
    					System.out.println("Agent Vendeur : message recu de l'Agent Service   = "+ msg11.getContentObject());
    				} catch (UnreadableException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
            	}
            	});*/
           	
     //-------------------------------------------------------------------------------------------------------
           
            comportementSequentiel.addSubBehaviour(new OneShotBehaviour(){
            	@Override
            	public void action() {
            		
            	    // --- cryptage --- 
            	}
            	});
    				
    				
      //---------------------------------------------------------------------------------------------------
            
            comportementSequentiel.addSubBehaviour(new OneShotBehaviour(){
            	@Override
            	public void action() {
            		
            	    // --- Terminisation --- 
            	}
            	});
    				
            
    }
    
    }
    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
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
      Agent Service 
    package MonPackage;
    
    import java.io.IOException;
    import java.io.Serializable;
    import java.security.interfaces.RSAPublicKey;
    
    import MonPackage.Rsa;
    import jade.core.AID;
    import jade.core.Agent;
    import jade.core.behaviours.CyclicBehaviour;
    import jade.core.behaviours.OneShotBehaviour;
    import jade.core.behaviours.SequentialBehaviour;
    import jade.domain.DFService;
    import jade.domain.FIPAException;
    import jade.domain.FIPAAgentManagement.DFAgentDescription;
    import jade.lang.acl.ACLMessage;
    import jade.lang.acl.UnreadableException;
    import jade.lang.acl.MessageTemplate;
    
    public class AgentService  extends Agent{
    	private  Serializable Pubkey=null;
    	 ACLMessage msg1Recu =null ;
    	 
    	
    	protected void setup(){
    	
    		 try {
    			 System.out.println(getLocalName()+" STARTED");
    		// Création de desciprion de l'agent [Agent Service]
    		DFAgentDescription dfd = new DFAgentDescription();
    		dfd.setName(getAID());
    		// Enregistrement de la description de l'agent dans DF (Directory Facilitator)
    		DFService.register(this, dfd);
    		System.out.println(getLocalName()+" REGISTERED WITH THE DF");
    		} catch (FIPAException e) {
    		e.printStackTrace();
    		}
    //-------------------------------------------------------------------------
    	     SequentialBehaviour comportementSequentiel = new SequentialBehaviour();
    	     comportementSequentiel.addSubBehaviour(new OneShotBehaviour(){
    	    	 @Override
    	    	 public void action() {
    	    		 System.out.println(" AgentService:en Attente AgentLanceur  ");
    	    		
    	    		 while (msg1Recu == null){
    	    		 msg1Recu= receive() ;
    	    		}
    	    		
    	    		 try {
    					Pubkey = msg1Recu.getContentObject();
    				} catch (UnreadableException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    	    		
    	    		try {
    					System.out.println("message recu de Agent Lanceur et registre sous pubkey= "+msg1Recu.getContentObject() );
    				} catch (UnreadableException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    	    		
    	    		
    				}
    	    	 }); 
    	     addBehaviour(comportementSequentiel);
    //-------------------------------------------------------------------------------------------------------
    	     addBehaviour(new CyclicBehaviour(this) {
    				
    				public void action() {
    					
    				// Attente de message (de l'agent vendeur)
    				ACLMessage msg = receive(MessageTemplate.MatchPerformative(ACLMessage.INFORM));
    				if (msg != null) {				
    				if (msg.getContent().equalsIgnoreCase("public key"))
    				{
    																	
    				  ACLMessage reply = msg.createReply();
    				
    				  try {
    					reply.setContentObject(Pubkey);
    
    					System.out.println(" Agent Service :message envoyé de Agent vendeur = "+reply.getContentObject());
    				} catch (IOException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				} catch (UnreadableException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}}
    				}
    				else {
    				
    				//Pendant que le message n'est pas encore arrivé le comportement est bloqué
    				block();
    				}
    				
    				}});
    	    
    	
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Voici le résultat de l’exécution :
    
    Agent Service :message envoyé de Agent vendeur = Sun RSA public key, 1024 bits
     modulus: 946914094815337289427708036769470865191238874959665070564881607663398
    5639580890451115200715835363632366787728350895602551973833114228733800233854409
    6365223900556782564298135744458157751258741511568834385035748867042269210603072
    167167235825268184993753606194774573749635355232379857103014508868280103243531
     public exponent: 65537
    Mais @ Agent Vendeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    AgentVendeur STARTED
    AgentMobile STARTED
    AgentVendeur REGISTERED WITH THE DF
     Agent Vendeur en Attente  Agent Mobile
    AgentMobile REGISTERED WITH THE DF
    --- AgentMobile fait la migration ---
    Agent Mobile vas  envoyÚ   message @ Agent Vendeur prix mobile Nokia
     Agent Vendeur :message recu de Agent Mobile = prix mobile Nokia
    L'agent Vendeur  en attente l'Agent Service
    L'agent Vendeur  vas interoger l'Agent Service pour  demandé la clÚ pub public k
    ey
    .....................!!!!!!!! normalment ici je trouve le resultat (m'affiche rien plus:( 

  3. #163
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2011
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Je viens de lire rapidement le forum et j'ai vu qu'il y avait un agent lanceur d'agent. (J'aime le concept) Ca marche sans problème.

    Par contre, je voulais savoir s'il y avait possibilité d'écrire un programme capable de lancer lui même des agents (et donc la gui) par exemple un main qui lancera les Agents A et B de l'exemple de l'article.

    Je vais chercher de mon coté.

    Bonne après midi.

  4. #164
    Expert éminent sénior

    Avatar de Djug
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    2 980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    Citation Envoyé par Darkaz Voir le message
    Bonjour,

    Je viens de lire rapidement le forum et j'ai vu qu'il y avait un agent lanceur d'agent. (J'aime le concept) Ca marche sans problème.

    Par contre, je voulais savoir s'il y avait possibilité d'écrire un programme capable de lancer lui même des agents (et donc la gui) par exemple un main qui lancera les Agents A et B de l'exemple de l'article.

    Je vais chercher de mon coté.

    Bonne après midi.
    oui, c'est possible de le faire,

    la méthode la plus simple c'est de lancer les agents par la ligne de commandes (via un code java)

    la seconde (la plus orientée jade), permet de lancer des agents sans passer par la ligne de commande

    tu trouvera un exemple dans la section 3.8 (Using JADE from external Java applications) du document:
    http://jade.tilab.com/doc/programmersguide.pdf

  5. #165
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2011
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par Djug Voir le message
    tu trouvera un exemple dans la section 3.8 (Using JADE from external Java applications) du document:
    http://jade.tilab.com/doc/programmersguide.pdf
    Merci beaucoup !

    J'avais pourtant parcouru rapidement la doc. J'ai du manqué ce point (vu qu'il est à la fin de la doc c'est normal xD)

  6. #166
    Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Jade et protégé
    Bonjour
    Je suis débutante dans le domaine ontologie je veux construire une ontologie pour le domaine traçabilité. Puis grâce au Plugin beangenerator les classes d'ontologie seront généré pour être compiler sur JADE (Java Agent DEvelopment Framework). svp est ce qu'il ya un exemple d'ontologie pour mieux comprendre. Merci en avance.

  7. #167
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Constructeur dans Jade
    Est ce que on pourra mettre des constructeurs avec des agents jade.

    Sinon comment faire pour créer des agents à partir d'un autre agent.

  8. #168
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2011
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par hamdi_iag Voir le message
    Est ce que on pourra mettre des constructeurs avec des agents jade.

    Sinon comment faire pour créer des agents à partir d'un autre agent.
    Je ne suis pas sur d'avoir bien compris la première partie de ta question.
    Mais si c'est "comment lancer un agent depuis une applications java" :
    je t'invite à lire le Programmer User Guide (page 47) disponible sur le site de JADE. Ce qui est écrit 3 posts au dessus !!!!

    Créer un agent à partir d'un autre agent à déjà était traité dans ce topic, en première page !!!!!!!

    Ainsi avant de poster une question, pense à relire le sujet !!!!

  9. #169
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2011
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    J'en avais oublié ma question :

    lorsque l'on veut rajouter un service à la plat forme,
    on le passe en paramètre lors de l'exécution en console.

    mais comment doit on faire pour le rajouter lorsque l'on lance la plat forme depuis un programme java ?

    Lancer la plat forme depuis un programme java : programers guide page 47
    Liste des services : administrators guide page 6

  10. #170
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2011
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    auto réponse (ça devient une habitude) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // allow to send arguments to the JADE launcher
    Properties pp = new ExtendedProperties();
     
    // add the Topic Management Service
    pp.setProperty(Profile.SERVICES, "jade.core.messaging.TopicManagementService");
     
     
    // create a default Profile
    ProfileImpl pMain = new ProfileImpl(pp);

  11. #171
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Est ce-qu'il y a un exemple plus précis (et complet) que celui du Programmer User Guide (page 48)

  12. #172
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 15
    Points : 16
    Points
    16
    Par défaut demande d'aide avec mon code communication agent
    Citation Envoyé par Djug Voir le message
    Bonjour,

    voici un article sur Les communications des agents JADE

    http://djug.developpez.com/java/jade/communication/


    vos remarques sont les bienvenues.


    Bonjour.

    Quelqu'un peut-il m'aider avec mon programme ? J'ai essayé plusieurs fois d'exécuter le code pour la communication avec jade et ça marche qu'une fois et après je ne peux pas l’exécuter. Ma demande est juste de me dire si mon code pour l'agentA et AgentB (qui envoient un message bonjour entre eux) est correct.

    merci d'avoir lu mon message.

    le code est le suivant pour agentA
    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
    import jade.core.AID;
    import jade.core.Agent;
    import jade.core.behaviours.FSMBehaviour;
    import jade.core.behaviours.OneShotBehaviour;
    import jade.lang.acl.ACLMessage;
     
    public class AgentA extends Agent {
     
    protected void setup(){
     
      System.out.println("---------------------------------------");
      System.out.println("----------------agent A----------------");
      System.out.println("---------------------------------------");
     
      FSMBehaviour agentA_beh= new FSMBehaviour();
     
      agentA_beh.registerFirstState(new attendreAgentB(), "attendreAgentB");
      agentA_beh.registerState(new bonjour(), "bonjour");
      agentA_beh.registerLastState(new fin(), "fin");
     
      agentA_beh.registerDefaultTransition("attendreAgentB", "bonjour");
      agentA_beh.registerTransition("bonjour", "attendreAgentB",0);
      agentA_beh.registerTransition("bonjour", "fin", 1);
     
      addBehaviour(agentA_beh);  
    }
     
    private class attendreAgentB extends OneShotBehaviour{
     
      @Override
      public void action() {
     
      System.out.println("en attente de l agent B");
      block();
      }
    }
    /*****************************************************************/
    private class bonjour extends OneShotBehaviour{
     
      int valeurRetour = 0;
      @Override
      public void action() {
     
      ACLMessage messageRecu = receive();
      if (messageRecu.getContent().equalsIgnoreCase("pret") ) valeurRetour=0;
      else  valeurRetour=1;
     
     
      System.out.println(" bonjour agent A ");
      ACLMessage message = new ACLMessage(ACLMessage.INFORM);
      message.addReceiver(messageRecu.getSender());
     
      send(message);
      }      
     
      public int onEnd(){
      return valeurRetour;   
      }  
    }
    /*****************************************************************/
    private class fin extends OneShotBehaviour{
     
      @Override
      public void action() {
      System.out.println("arret de l'agent");
      myAgent.doDelete();  
      }  
    }
    }

    et pour AgentB
    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
    import java.security.acl.Acl;
    import jade.core.AID;
    import jade.core.Agent;
    import jade.core.behaviours.FSMBehaviour;
    import jade.core.behaviours.OneShotBehaviour;
    import jade.lang.acl.ACLMessage;
     
    public class AgentB extends Agent {
     
     
      boolean stop = false;
      protected void setup(){
        System.out.println("----------------agent B----------------");
        FSMBehaviour agentB_beh= new FSMBehaviour();
     
        agentB_beh.registerFirstState(new attendrebonjour(), "attendrebonjour");
        agentB_beh.registerState(new afficher(), "afficher");
        agentB_beh.registerState(new fin(), "fin");
     
        agentB_beh.registerTransition("attendrebonjour", "afficher",0);
        agentB_beh.registerTransition("attendrebonjour", "fin",1);
        agentB_beh.registerDefaultTransition("afficher", "attendrebonjour");
     
        addBehaviour(agentB_beh);
      }
      private class attendrebonjour extends OneShotBehaviour{
     
        int valeurRetour = 0;
     
        public void action() {
        ACLMessage message = new ACLMessage(ACLMessage.INFORM);
        message.addReceiver(new AID("AgentA", AID.ISLOCALNAME));  
     
          if(!stop){
            message.setContent("pret");
            send(message);
            valeurRetour=0;
            block();
          }else{
            message.setContent("arret");
            send(message);
            valeurRetour=1;  
          }    
        }
      public int onEnd(){
        return valeurRetour;
      }  
      }
      /**********************************************************************/
      private class afficher extends OneShotBehaviour{  
        @Override
        public void action() {
          ACLMessage messageRecu = receive();
          somme+= Integer.parseInt(messageRecu.getContent());
          System.out.println("message recu= "+ messageRecu.getContent());
          stop = true;
        }  
      }
      /**********************************************************************/
      private class fin extends OneShotBehaviour{
        @Override
        public void action() {
          System.out.println("fin de l'agent");
          myAgent.doDelete();
        }  
      }
    }


    merci encore une fois

  13. #173
    Expert éminent sénior

    Avatar de Djug
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    2 980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    ça marche qu'une fois et aprés je ne peux pas l’exécuter
    tu n'arrives pas à l’exécuter une nouvelle fois, parce que tu ne fermes pas la plateforme après avoir terminer l’exécution.

    Citation Envoyé par Djug Voir le message
    cette erreur apparait quand tu essayes de lancer une nouvelle instance du jade (ou lancer le même programme/agent JADE une nouvelle fois) sans avoir fermer l'ancienne instance proprement.

    fermer l'interface graphique du jade ne ferme pas la plateforme vu que l'interface graphique n'est qu'un agents comme les autre (l'agent RMA).

    pour fermer le JADE complètement tu as le choix entre l'une des méthodes suivantes:
    1. fermer la plateforme à partir de l'interface graphique:



    2. fermer l'agent à partir d'eclipse:



    3.mais si tu as déjà tenter de lancer la deuxième instance, il te faut redémarrer Eclipse ou fermer le processus javaw.exe , à partir du gestionnaire de tâches (sous windows), ou utiliser la commande systeme suivante (invite de commande):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taskkill /f /im javaw.exe

  14. #174
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 50
    Points
    50
    Par défaut
    Bonjour à tous!

    pour le lancement de deux agents j'applique tous ce que dit là, mais aucune chose les agents ne veulent pas lancer

    hier j'ai testé de lancer les deux agents A et B et j'ai réussi et j'ai fait la suite:

    1/ j'ai mis dans l'onglet Arguments de Run configuration de la classe de l'agent A : -gui " pour lancer le Jade seulement"

    2/ et après j'ai lancé l'agent A par l'icon "start new agent", donc il m'affiche

    ---------------------------------------
    ----------------agent A----------------
    ---------------------------------------
    en attente de l agent B
    3/ la meme chose pour l'agent B , il m'affiche le résultat qu'il faut m'apparait.



    mais aujourd'hui , il m'affiche une erreur et je ne sais pas pourquoi

    il m'affiche comme ça lorsque je crée l'agent B

    ----------------agent B----------------
    *** Uncaught Exception for agent b ***
    java.lang.NumberFormatException: For input string: "( (action ( agent-identifier :name b@192.168.1.4:1099/JADE :addresses (sequence http://UTILISATEUR-PC:7778/acc )) (ACLMessage) ) (MTS-error ( agent-identifier :name AgentA@192.168.1.4:1099/JADE ) (internal-error "Agent not found: getContainerID() failed to find agent AgentA@192.168.1.4:1099/JADE")) )"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)ERROR: Agent b died without being properly terminated !!!
    State was 2

    at firstAgent.AgentB$afficher.action(AgentB.java:47)
    at jade.core.behaviours.Behaviour.actionWrapper(Behaviour.java:344)
    at jade.core.behaviours.CompositeBehaviour.action(CompositeBehaviour.java:109)
    at jade.core.behaviours.Behaviour.actionWrapper(Behaviour.java:344)
    at jade.core.Agent$ActiveLifeCycle.execute(Agent.java:1504)
    at jade.core.Agent.run(Agent.java:1443)
    at java.lang.Thread.run(Unknown Source)
    une idée, svp????

  15. #175
    Expert éminent sénior

    Avatar de Djug
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    2 980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    le message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gent not found: getContainerID() failed to find agent AgentA@192.168.1.4:1099/JADE
    indique que le 2e agent n'a pas pu trouvé le premier Agent nommé AgentA.

    il me semble que tu as nommé tes agents en a et b (au lieu de AgentA et AgentB) et du coup tu dois également remplacer AgentA par a et AgentB par a et b dans le code des 2 agents.

  16. #176
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 50
    Points
    50
    Par défaut
    Merci Mr.Djug pour votre réponse

    vous voulez me dire qu'il faut nommer les agents: AgentA et AgentB comme leurs classes ??

    si oui, j'avais cru que les noms des agents sont choisis aléatoirement

  17. #177
    Expert éminent sénior

    Avatar de Djug
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    2 980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    Citation Envoyé par Papillon de mer Voir le message
    Merci Mr.Djug pour votre réponse

    vous voulez me dire qu'il faut nommer les agents: AgentA et AgentB comme leurs classes ??

    si oui, j'avais cru que les noms des agents sont choisis aléatoirement
    tu peux nommer tes agents comme tu le veux.
    mais le code de l'agentB indique qu'il veut communiqué avec un agent nommé AgentA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        message.addReceiver(new AID("AgentA", AID.ISLOCALNAME));

  18. #178
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 50
    Points
    50
    Par défaut
    Désolée pour le retard

    Ok , Merci autre fois Mr.Djug

  19. #179
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 50
    Points
    50
    Par défaut
    Salut tous le monde!

    je reviens avec des autres questions

    comme j'avais dit dans les passés discussions, que je lance le JADE à partir l'eclipse par l'écriture -gui dans l'argument de Run Configuration et ça marche bien

    et aussi j'ai créé les agent A et B l'un après l'autre par l'icon "Start new agent" puis choisis les classes correspondantes et aussi marche bien

    et le résultat s'affiche comme suit dans le console d'Eclipse jusqu'à l'arret de l'agent

    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
    INFO: --------------------------------------
    Agent container Main-Container@192.168.1.2 is ready.
    --------------------------------------------
    ---------------------------------------
    ----------------agent A----------------
    ---------------------------------------
    en attente de l agent B
    ----------------agent B----------------
    envoi de la valeur 0
    en attente de l agent B
    message recu= 0
    la somme actuelle = 0
    envoi de la valeur 5
    en attente de l agent B
    message recu= 5
    la somme actuelle = 5
    envoi de la valeur 9
    en attente de l agent B
    message recu= 9
    la somme actuelle = 14
    envoi de la valeur 6
    en attente de l agent B
    message recu= 6
    la somme actuelle = 20
    envoi de la valeur 2
    en attente de l agent B
    message recu= 2
    la somme actuelle = 22
    envoi de la valeur 4
    en attente de l agent B
    message recu= 4
    la somme actuelle = 26
    envoi de la valeur 8
    en attente de l agent B
    message recu= 8
    la somme actuelle = 34
    envoi de la valeur 3
    en attente de l agent B
    message recu= 3
    la somme actuelle = 37
    envoi de la valeur 5
    en attente de l agent B
    message recu= 5
    la somme actuelle = 42
    envoi de la valeur 8
    en attente de l agent B
    message recu= 8
    la somme actuelle = 50
    envoi de la valeur 0
    en attente de l agent B
    message recu= 0
    la somme actuelle = 50
    envoi de la valeur 2
    en attente de l agent B
    message recu= 2
    la somme actuelle = 52
    fin de l'agent
    envoi de la valeur 6
    arret de l'agent
    mais mon souci est dans le sniffer, pour vérifier est ce que les messages sont bien échangés ou non entre les deux agents

    je crois qu'il y a un problème ..il n'y a pas des messages envoyés

  20. #180
    Expert éminent sénior

    Avatar de Djug
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    2 980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    il n'y a pas des messages envoyés
    et comment les agents arrivent ils à communiquer?


    et voici comment "espionner" les agents Jade avec l'agent Sniffer:


    http://www.4shared.com/file/fZ_dtocJ/Sniffer.html

Discussions similaires

  1. Communication entre des agents jade
    Par Nouur dans le forum Programmation par agent
    Réponses: 0
    Dernier message: 28/04/2014, 23h39
  2. Communication entre des agents jade
    Par Nouur dans le forum Programmation par agent
    Réponses: 0
    Dernier message: 28/04/2014, 23h36
  3. Pour les fanas des Agents
    Par carla-la-belle dans le forum Windows 7
    Réponses: 2
    Dernier message: 12/11/2009, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo