KeTZaLDeV
Messages postés35Date d'inscriptionmercredi 5 octobre 2005StatutMembreDernière intervention24 octobre 2016
-
23 mars 2006 à 14:35
frank_sauvage
Messages postés56Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention 9 avril 2006
-
26 mars 2006 à 23:26
bonjour, j'ai un petit soucis...
Je dois fabriquer un logiciel de messagerie, utilisant la voIP, donc j'utilise l'API JMF, et mon probleme est que je dois faire tourner ce client serveur en mode Peer to Peer.
Le probleme est que qi une personne se trouve derriere un routeur, ainsi que son correspondant, comment arriver a faire une connexion entre les deux.
Si j'ai un serveur avec une adresse routable, je peux fabriquer un serveurSocket sur ce serveur et meme si mon client est derriere son routeur, la conenxion s'etablira grace aux ports...(je ne rentre pas dans les details...)
Seulement, si mon serveur de peer to peer ne possede pas une adresse routable, le client ne pourra jamais le trouver.
Je vous donne les elements que je possede pour cette application : je peux utiliser un serveur avec adresse routable, afin que mon client se connecte dessus(serveur de comptes)
Ensuite ce client doit faire un genre de serveur pour commencer une communication avec un autre client...
La question que je me pose, est :
Peut on raccorder deux sockets qui partent de clients avec addresses non routable vers le serveur, peut on les raccorder entre eux afin de faire un canal de discussion entre les deux clients.
Les logiciels de peer to peer arrive a le faire, je ne voit pas pourquoi on ne pourrais pas le faire en java...
Merci de votre contribution
frank_sauvage
Messages postés56Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention 9 avril 2006 23 mars 2006 à 20:49
bonjour...
et oui..le probleme est bien connu...ca s'appelle du Nat traversal
on peut le faire en java, pas de souci. mais la pas d'api pour aider.
la jmf utilise RTP, qui ne passe pas les nat..donc il faut que tu
implementes un systeme de passage de Nat et ensuite un
RTPConnector.
la pas de solution miracles..prendre petites mimine pour coder ca.
prevoir 2 mois minimum rien que pour ca..(et encore, ca m'a pris plus
de temps que ca pour un systéme simple, je me casse encore la tete
dessus pour l'ameliorer :( ).
sinon, tu peux aussi trouver des bonnes docs sur les sites des
laboratoires de recherche en reseau. par exemple, la technique la
plus evoluée actuellement c'est le hole punching concue pour passer les
doubles nat, mais qui ne les passent pas toutes.
Le MIT travaille dessus en ce moment et sors quelques docs regulierement.
sinon..tu peux toujours passer par un serveur de relais qui aurait une ip publique (ou une nat precise sur ton serveur).
sinon..ce n'est pas pasque les logiciels peer to peer le fond que c'est facile :(.
frank_sauvage
Messages postés56Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention 9 avril 2006 23 mars 2006 à 21:22
nan mais ketzaldev developpe une plateforme de elearning.
ca fait un certain temps qu'il se bat avec la jmf et tomcat pour ca.
question tu connais : www.plenadis.fr ?? je t'en ai deja parlé, mais ca
n'a pas eu l'air de t'interresser....m'enfin..ca ne fait qu'un peu plus
1000 classes java a se retaper :S
(qu'ils sont mechants ces profs, tuteurs ou maitres de stages a
filer des sujets qui scotchent tous les etudiants tels que la visio ou
le reseau )
frank_sauvage
Messages postés56Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention 9 avril 2006 23 mars 2006 à 21:22
nan mais ketzaldev developpe une plateforme de elearning.
ca fait un certain temps qu'il se bat avec la jmf et tomcat pour ca.
question tu connais : www.plenadis.fr ?? je t'en ai deja parlé, mais ca
n'a pas eu l'air de t'interresser....m'enfin..ca ne fait qu'un peu plus
1000 classes java a se retaper :S
(qu'ils sont mechants ces profs, tuteurs ou maitres de stages a
filer des sujets qui scotchent tous les etudiants tels que la visio ou
le reseau )
frank_sauvage
Messages postés56Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention 9 avril 2006 26 mars 2006 à 23:26
en utilisant la meme propriété que pour le hole punching ca passe en bidouillant..
mais..c'est de la grosse bidouille d'une part, et d'une autre, ca ne
marche que sur les peripheriques de nat supportant le hole
punching...c'est a dire ceux basé sur une table a triplets et non
quadruplet..
la tu sors du cadre programmation et tu t'engouffres dans du reseau
bien pointu par contre . ce dont on parle ici est experimental.
de toute facon, tu dois dés a present comprendre un truc : en reseau,
aucune solution est universelle, si tu veux que quelque chose
communique, plus tu integreras de techniques, plus ca aura
de chance de marcher dans plus d'environnements. c'est la regle. c'est
pour ca qu'il existe des protocoles de decouverte de topologies afin de
decider quelle technique utiliser.