didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 2017
-
30 oct. 2007 à 10:37
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 2017
-
23 févr. 2008 à 19:47
Bonjour à tous.
J'ai réalisé une application Client/Serveur fonctionnelle.
Lorsque je lance le serveur sur un des ordinateurs du résau, je parviens à m'y connecter (si je suis sur le même réseau).
Donc mes questions sont les suivantes :
+ Comment est ce que je peux faire pour me connecter au serveur quelque soit l'ordinateur sur lequel il est ?
+ Comment est ce que ca fontionne ?
C'est à dire qu'il y a une adresse ip "générale" (par ex. 255.255.255.255) et une autre (qui correspond à un ordinateur du réseau (192.168.XXX.XXX)
merci.
A voir également:
L'adresse demandée n'est pas valide dans son contexte
the_wwt
Messages postés177Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention16 janvier 20091 30 oct. 2007 à 14:21
Bonjour,
une adresse ip est censé être unique dans un réseau ( même local 192.168.x.x classe C) donc tu ne peux pas attribué une même adresse à plusieurs machines. Pour cela il existe les DNS (domain name server) qui font correspondre le nom d'une machine à son adresse ip.
Si ton réseau dispose d'un DNS essaye la commande DOS nslookup et tape le nom de ta machine -> il te renvoie une adresse ip.
En java pour récupérer l'adrsse d'une machine tu fais:
InetAddress server = InetAddress.getByName("nomDuServer");
the_wwt
Messages postés177Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention16 janvier 20091 30 oct. 2007 à 15:22
Re,
bien non, il n'existe aucun autre moyen... C'est le principe même de la couche réseau une machine = une adresse IP. Si tu connais pas cette adresse IP tu ne peux pas communiquer avec cette machine. La couche service apporte la notion de nom de machine via les DNS. Mais si tu n'as pas de DNS associé à ton DHCP ( le serveur qui attribue une adresse IP a une machine lors de son démarage) tu es bloqué.
Pour revenir à ton problème, premièrement quel besoin as tu?
--> Trouver l'adresse IP de ton serveur depuis une machine cliente -> ton serveur doit avoir une IP statique ou être enregistré auprès d'un DNS.
--> Sinon trouve une machine intermediaire sur laquelle le serveur au démarage stocke son adresse IP. Les clientq lisent ce fichier et se connecte à la machine. Mais on revient au même problème avoir une IP statique dans ton code ( ou une propriété bien sur).
Tous les protocoles client-serveur utilise un de ces principes:
-> Emule le fichier server.met qui liste les adresses IP des serveurs
-> Bitorrent le serveur de tracker qui liste les clients
--> HTTP les DNS pour trouver www.google.com
--> etc...
J'espère avoir répondu a tes questions.
Cordialement,
Pierrick
the_wwt
Messages postés177Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention16 janvier 20091 20 févr. 2008 à 10:54
Bonjour,
même question -> même réponse.
Si tu connais le nom de la machine et qu'un serveur dns peut te renvoyer son IP en fonction de ce nom, tu n'as pas de souci tu t'y connecte en ne donnant que le nom.
Ensuite ne fais pas de méli-melo entre adresse publique ( internet) et adresse privée ( intranet ).
Si tu connais la plage du réseau privée de la machine et le port d'écoute du serveur ( exemple 192.168.1.XXX), tu tests toutes les adresses IP ( ici 255 possibilités).
En ce qui concerne whatismyip.org cela te donne l'adresse publique ( donc pas en classe C 192.168.XXX.XXX) tu ne pourras rien en faire si ton serveur n'est pas directement sur internet, il te faudra passer par du NAT ( Network Adress Translation) qui permet de rediriger des requete venant d'un certain port sur tel machine du réseau local.
penches toi sur la doc sur le réseau en tapant ( réseau de classe C, NAT ... etc sur ton moteur de recherche préféré).
Cordialement,
Pierrick
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 30 oct. 2007 à 14:52
Bonjour.
Merci de ta réponse.
Lorsque je tape "nslookup", j'obtiens une adresse IP et un serveur par défaut.
Lorsque je tape le mon de ma machine, on m'indique que le serveur ne parvient pas à trouver ce nom. (comment ca se fait ? est ce parceque je n'ai pas de DNS ?)
J'ai également essayer avec java; mais rien ne s'affiche.
Existe t-il un autre moyen pour se connecter à un ordinateur depuis n'importe quel ordinateur (ex: 192.168.0.7 ==> XXX.XXX.XXX.XXX )
merci...
Vous n’avez pas trouvé la réponse que vous recherchez ?
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 30 oct. 2007 à 15:43
En fait, j'instale un serveur sur une machine.
je voudrais pouvoir m'y connecter via son adresse ip.
Lorsque je lance le client et le serveur sur la même machine, je dis au client de se connecter sur "localhost" sur le port 123.
Lorsque je lance le client et le serveur sur le même réseau, je dis au client de se connecter sur la machine correspondante (par ex 192.168.0.5 sur le port 123).
Mais lorsque le client et le serveur n'ont "aucun points communs", je dis ... rien du tout : je peux pas ... :'(
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 20 févr. 2008 à 10:38
Slt.
J'aimerais bien me repencher sur ce problème (que je n'ai toujours pas résolu; ou du moins dont je n'ai pas compris le fonctionnement).
Est ce que tu pourrais m'en dire plus sur les moyens pour se connecter à un ordinateur situer dans un resau local (sur internet, pour ce sujet, je ne sais pas trop quoi chercher) ?
lorsque l'on connais :
- l'adresse IP du réseau (celle qu'on obtient lorsque l'on va, par exemple, sur "www.whatismyip.org/")
- (possibilité) le nom de la machine (lorsque l'on tape "hostname" dans la console DOS
Il se trouve que dans mon cas, le DNS ne trouve pas le nom de la machine (sauf lorsqu'il s'agit du nom de la machine hôte).
Comment pourrais-je connaître, par exemple, la plage de mon réseau privé (sous windows) ?
Ou si non, je viens de pensé à ça : au lieu que se soit le client qui démarre la connection avec le serveur, pourquoi ne pas faire l'inverse (le erveur essaye de se connecte à un certain nombre d'adresse pré-enregistrée) ? Dans ce cas la, je peux récupèrer toutes les info que je veux (puisqu'il s'agit de ma machine et de mon réseau). Quelles données doit-je fournir à mon serveur pour qu'il se connecte à mon pc (et comment les obtenir .. :s )?
PS1: ca à l'air si simple, mais c'est telement compliqué ... xD
PS2: vraiment désolé de poser toutes ces questions (surtout qu'elles se ressemblent plus ou moins)