Messagerie instantanée avec Java RMI [HELP]

Résolu
ghostman15418 Messages postés 13 Statut Membre -  
ghostman15418 Messages postés 13 Statut Membre -
Bonjour tout le monde j'espère que vous allez bien ,
j'essaye d'implémenter une messagerie instantanée.
Ma question est:
Est ce possible d'implémenter une MI en utilisant java RMI, et est ce que le RMI ouvre un canal full duplex entre le client et le server (est ce temps réel) ou il faudra faire du polling pour voir si le client a reçu un nouveau message ?.
Merci pour votre aide.


Configuration: Windows / Chrome 96.0.4664.45
A voir également:

2 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Bonjour,

RMI permet d'appeler du code distant : tu fournis le nom de la classe, la méthode et les paramètres, ça te renvoie un résultat. C'est en temps réel, mais strictement à sens unique.

Remarque : RMI est un vieux protocole qui n'a plus trop de raison d'être aujourd'hui, il vaudrait mieux faire du REST (avec JAX-RS en Java)
1
ghostman15418 Messages postés 13 Statut Membre
 
Donc si j'ai bien compris, les rmi ne sont pas comme les socket ou le client peut etre notifier d'une modification sans qu'il est a requeté se qui signifie il faut faire du pooling sur une methode qui retournera au client des message qu'il a reçu.?
0
KX Messages postés 19031 Statut Modérateur 3 020 > ghostman15418 Messages postés 13 Statut Membre
 
Le RMI c'est un protocole, les sockets c'est une technologie, il se trouve que pour que ça fonctionne le RMI va utiliser les sockets, mais uniquement dans un sens (un POST en HTTP).

https://docs.oracle.com/en/java/javase/17/docs/specs/rmi/protocol.html

NB. Il existe un mode multiplexé pour que le client et le serveur puisse s'envoyer plusieurs requêtes avec la même connexion, mais ça ne change rien au sens de la communication. Tu appelles une méthode, ce n'est pas elle qui t'appelle.
0
ghostman15418 Messages postés 13 Statut Membre
 
Merci beacoup, ce qui veut dire si je veux faire une messagerie instantanée avec rmi je dois faire une boucle qui appelle une methode qui renvoie les messages du client, ce qui s'appelle faire du pooling (comme ce qui etait fait sur le web avant l'arrivé de websocket).
0
KX Messages postés 19031 Statut Modérateur 3 020
 
En effet tu n'auras pas le choix en RMI. Après, même avec des technologies plus récentes, le polling reste une bonne solution pour économiser la consommation de ressources côté serveur.
0
ghostman15418 Messages postés 13 Statut Membre > KX Messages postés 19031 Statut Modérateur
 
d'accord, je vous remercie énormément pour votre précieuse aide.
0