Systeme de messagerie interne [Résolu]

cs_youness601 6 Messages postés jeudi 15 mars 2007Date d'inscription 28 janvier 2011 Dernière intervention - 23 déc. 2010 à 08:39 - Dernière réponse :  Bebertos
- 12 juin 2015 à 18:34
Bonjour à tous,

mon objectif est de réaliser un système de messagerie interne,
c'est à dire :
[*] une application côté client qui nous permet de gérer nos messages (envoyer message, consultation des messages reçus, ...)


[*]une application côté serveur qui permet de gérer les requêtes des clients. par exemple si un client envoie un message le serveur va :
[list]
[*] Vérifier l’existence du destinataire dans la base de données
[*] Envoyer le message au destinataire (si le destinataire existe)
[*] Envoyer des messages d’états à l’émetteur et au récepteur (messages de notifications (il y a succès ou erreur))
/list

j'espère que l'idée est un peu claire !
ce que je cherche pour le moment c'est la technologie la plus simple avec laquelle je vais réaliser l'application (RMI ou Socket, ....), SVP si vous avez des idées n'hésitez pas

Merci :-)
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Utilisateur anonyme - 23 déc. 2010 à 11:43
3
Merci
Bonjour

RMI suffirait pour faire ça. Si tu veux, je pourrai t'envoyer un exemple tout simple qui envoie une chaine de caractère du client au serveur, ça peut te servir de base de départ. Franchement, c'est bête mais une fois que tu arrives à faire ça, le gros du boulot est fait si tu comprends bien le code.


















Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
cs_youness601 6 Messages postés jeudi 15 mars 2007Date d'inscription 28 janvier 2011 Dernière intervention - 23 déc. 2010 à 20:48
0
Merci
Bonsoir,
Merci pour ta réponse :-)
et bien sûr j'aimerai bien recevoir ton exemple.

Cdlt
Commenter la réponse de cs_youness601
Utilisateur anonyme - 23 déc. 2010 à 23:42
0
Merci
import java.io.*;
import java.rmi.Naming;
import java.rmi.RMISecurityManager;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

/*java -Djava.security.policy=firsttry.policy -Djava.rmi.server.codebase=http://? -Djava.rmi.server.hostname=? Server ip port*/
public class Server{


      public static void main(String[] args)throws Exception{
          if(args.length<3)
      {System.err.println("usage: java Server host port object");
       System.exit(1);
      }
  Registry reg= LocateRegistry.createRegistry(Integer.parseInt(args[1]));
  if(System.getSecurityManager()==null)
              System.setSecurityManager(new RMISecurityManager()); 
  IDistantObject d=new DistantObject();
  Naming.rebind("rmi://"+args[0]+":"+args[1]+"/"+args[2],d);      
      } 
} 


import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Vector;

public interface IDistantObject extends Remote{


      public void put(String line)throws RemoteException;           
      
      public Vector<String> getContent()throws RemoteException; 
}


import java.rmi.Naming;
/*java -Djava.security.policy=firsttry.policy Client ip port*/
public class Client{


    public static void main(String[] args)throws Exception{
          if(args.length<3)
      {System.err.println("usage: java Client host port object");
       System.exit(1);
      }
          IDistantObject d=(IDistantObject)Naming.lookup("rmi://"+args[0]+":"+args[1]+"/"+args[2]);
          System.out.println("avant, taille = "+d.getContent().size());
  d.put("vive java"); 
  System.out.println("apres, taille = "+d.getContent().size());
    } 

}




import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.Vector;

/*UnicastRemoteObject evite d'avoir a faire exportObject dans le serveur*/
public class DistantObject extends UnicastRemoteObject implements IDistantObject{            
    
    
    private Vector<String> content;
    
    public static final long serialVersionUID=1;
    
    
    public DistantObject()throws RemoteException{
        content=new Vector<String>();
    } 

    
    public synchronized void put(String line)throws RemoteException{
        content.add(line);
    } 

    public synchronized Vector<String> getContent()throws RemoteException{
        return(content);
    } 	    	    	    	    	    	    
} 


firsttry.policy
grant{
permission java.net.SocketPermission "*:1024-65535", "connect,accept";
permission java.net.SocketPermission "*:80", "connect";
};



Voilà, à toi de mettre la bonne adresse IP et le bon port. Bon courage.
















Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 23 déc. 2010 à 23:44
0
Merci
N'oublie pas d'utiliser un nom pour identifier l'objet distant, j'ai oublié de le mettre ci-dessus.






Commenter la réponse de Utilisateur anonyme
cs_youness601 6 Messages postés jeudi 15 mars 2007Date d'inscription 28 janvier 2011 Dernière intervention - 24 déc. 2010 à 02:06
0
Merci
Je te remercie encore pour tes réponses

Bonne nuit
Commenter la réponse de cs_youness601
Utilisateur anonyme - 24 déc. 2010 à 10:18
0
Merci
De rien, bon courage pour ton projet








Commenter la réponse de Utilisateur anonyme
0
Merci
Bonjour,
Je débarque 5 ans après donc je doute que ma requète aboutisse, mais aurais tu par hasard gardé ton code pour ton projet?

Je suis entrain de programmer quelque chose de similaire, mais je me débrouille très très mal en java, et j'aurais bien besoin d'un exemple pour m'en servir de modèle.

Mercim
Commenter la réponse de Bebertos

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.