cs_Tibabou
Messages postés129Date d'inscriptionmercredi 2 janvier 2002StatutMembreDernière intervention 7 juillet 2012
-
22 juil. 2005 à 23:00
CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 2007
-
25 juil. 2005 à 08:01
Bonjour/soir,
J'ai créé un programme client/serveur avec Winsock. Pour qu'il fonctionne, j'ai dû modifier mes paramètres de routeur et indiquer une IP DMZ (celle de mon PC...) sans quoi, impossible au client de se connecter sur mon serveur.
Je remarque que pour emule, par exemple: pour n'importe quelle "configuration" de PC (ou réseau: routeur ou non...), le logiciel fonctionne (normal...). Je pouvais envoyer et recevoir des données (P2P) via emule SANS avoir indiquer d' IP DMZ...
Ma question est donc la suivante: comment procéder pour que mon programme fonctionne chez tout le monde ou presque ? (routeur ou non...)
Autre question sans doute débile: emule n'utilise pas les "sockets" ? (très débutant en la matière...)
CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 20072 23 juil. 2005 à 08:49
C'est simple : quand tu utilises eMule, ton PC ne fait pas office de serveur mais de client (c'est lui qui se connecte au serveur eMule, sûrement pas l'inverse)
Alors que avec ton client/serveur, le programme sur ton PC fait office de serveur (d'après ce que tu dis)
Sinon l'histoire du High ID c'est parce que les autres peuvent se connecter sur toi pour transférer des fichiers. Si tu es en Low ID, déjà d'après moi tu ne peux pas transférer de fichiers avec les autres Low ID (mais ça je n'en suis pas sûr) mais en plus si un High ID veut se connecter chez toi (il ne peut pas en théorie vu que ton routeur bloque), il doit indiquer cela au serveur eMule, qui lui te transfèrera (par le socket déjà ouvert par toi même) le fait qu'un High ID veut se connecter et que c'est toi qui doit te connecter vers lui (ce qui est possible) afin d'établir la connexion entre les deux.
Evidemment tout ça est automatique avec le client eMule mais c'est ça qui se passe d'après moi
CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 20072 23 juil. 2005 à 08:53
J'ai oublié de répondre aux questions :)
Ben tu n'as rien à changer, un serveur DOIT avoir ses ports ouverts, c'est à dire que le routeur doit rediriger les ports correspondants à ton programme vers ton PC (ou te mettre une IP DMZ comme tu dis, ce qui revient au même vu que ça redirige tous les ports au lieu de n'en rediriger que certains)
Sinon tout ce qui se connecte à internet (avec windows en tout cas) utilise des sockets
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 23 juil. 2005 à 15:39
Salut,
CyberP> tout est dit, et je confirme il ne peut y avoir aucun transfert entre 2 lowid.
eMule (enfin plutot edonkey) ne résoud pas le probleme d'un reseau mal
configuré, il ne fait que le contourner partielement avec le systeme de
lowid et highid.
cs_Tibabou
Messages postés129Date d'inscriptionmercredi 2 janvier 2002StatutMembreDernière intervention 7 juillet 2012 24 juil. 2005 à 22:27
euh... Pourquoi parlez-vous autant d'emule ? emule n'était qu'un exemple...
Les serveurs ed2k permettent aux clients de récupérer (entre autres) les IPs des autres clients. Et c'est ensuite dans un deuxième temps qu'un client se connecte à un autre grâce aux infos envoyées par le serveur...
Bref, si vous me dites que 'normalement', je n'ai pas à changer de config routeur... je vais chercher un peu tout seul mais c'est pas clair.
CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 20072 25 juil. 2005 à 08:01
Il a pas compris...
Je ne sais pas qui t'a dit que tu n'as pas à changer de config routeur pour faire marcher un serveur mais c'est faux
Quand un client (ici le client de ton programme) se connecte à un
serveur (toi), ça passe par un port (ça tu devrais savoir puisque tu en
as choisi un, de port). Tous les ordinateurs sur ton réseau ont la même
ip sur internet, donc forcément quand le client se connecte à ton ip,
il tombe sur le réseau et plus précisément sur le routeur. Le routeur
qui n'est au courant de rien ne sait pas sur quel ordinateur du réseau
le client veut se connecter... Il faut alors configurer le routeur pour
qu'il redirige tout ce qui passe par le port x vers ton ordinateur.
Il n'y a aucune autre manière de faire comme ça... Un routeur c'est un
des musts niveau sécurité, ça laisse rien passer.... Il n'y aucun moyen
pour que ton serveur fonctionne si tu configures pas ton routeur de
telle façon, et tu ne peux RIEN faire comme modification de ton
programme pour que ça marche
Sinon pour revenir à eMule je suis d'accord. Dans le gros paragraphe de
mon premier post je parlais de la connexion entre chaque client (mais
alors celui sur qui on se connecte devient aussi serveur, mais juste
serveur pour transférer le-dit fichier, pas serveur ed2k)
CyberP,
Celui qui dit que toute question a une réponse