begin process at 2012 05 28 08:55:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Réseau & Internet

 > 

Clinet - Serveur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Clinet - Serveur

jeudi 4 novembre 2010 à 20:30:16 | Clinet - Serveur

didoux95

Bonjour à tous,

Je suis en train de faire un petit serveur qui serait installé sur les deux machines de mon réseau. Cela me permettrait d'avoir accés à certains fichiers par le bias de quelques commandes (interpretables par mon serveur uniquement) depuis un réseau extérieur (lorsque je suis en déplacement par exemple).

Avant de continuer, je me demande comment est-ce que je peux accéder à une machine particulière en connaissant l'addresse ip de mon résaaeu et le nom de la machine.

D'après mes recherches sur la toile, ce n'est pas possible. Cependant j'aimerais avoir votre avis.

Merci à tous !
jeudi 4 novembre 2010 à 21:18:23 | Re : Clinet - Serveur

DeAtHCrAsH

Réponse acceptée !

Salut,

C'est tout à fait possible en prenant en compte les considérations suivantes.

Chez toi tu disposes de deux PC A et B et d'un routeur R.
Les IPs de A et B sont des IPs privées donc inaccesible depuis l'externe.
Cependant ton routeur possède une IP publique et grace à la translation d'adresse il est capable de retrouver une machine sur ton reseau privé a partir de ton IP publique (cf. rfc sur le NAT).

Ce que tu dois faire :
- Tu crées ton serveur et tu l'installe sur tes deux PCs. Nous supposons que ton serveur écoute les connexion entrantes sur le port 9090.
- Dans la configuration de ton routeur tu indique les choses suivantes :
* Si la connexion entrante arrive sur le port 7071 alors tu rediriges la connexion vers le PC A sur le port 9090.
* Si la conenxion entrante arrive sur le port 7072 alors tu rediriges la connexion vers le PC B sur le port 9090.

Depuis l'externe, tu aura juste a spécifier au client l'adresse IP publique et le port 7071 ou 7072 selon le PC sur le quel tu souhaites établir la connexion.

Si tu nous dis quel est la marque et le modèle de ton routeur on pourra t'aider plus en détails.

Si tu souhaites tester la configurations NAT de ton routeur tu peux regarder dans mes sources tu y trouveras une application client/serveur prete a l'emploi.

Bon courage.

Shell
jeudi 4 novembre 2010 à 22:14:06 | Re : Clinet - Serveur

didoux95

Salut,

Merci d'avoir répondu aussi rapidement. Mon routeur est une livebox.

D'après ce que tu me dis, il faut que je modifie les paramétres de mon routeur.. lorsque j'ai plus de 1 pc, afin d'orienter les connections, c'est ca ?

Je suppose que ce n'est pas possible à partir de C, et qu'il faut se logger sur la page de configuration du routeur (192.168.1.1) .. ?

Cela m'amène à me poser une nouvelle question. Les logiciels de chat pouvant être considérés comme client et serveur à la fois, comment se fait-il qu'il est possible de lancer plusieurs instances d'un même logiciel sur un même réseau (mais sur des machines différentes) sans modifier la configuration du routeur ?

Pour le moment le programme ne fontionne que lorsque je suis en interne. Je peux me connecter sur le PC que je veux en donnant son nom d'hote ou son adresse IP. Dés lors que je sors de mon propre réseau ca coïnce, il est impossible d'établir une connection. Et ce qu'il y ai un ou deux serveur.

J'ai utilisé la bibliothèque <winsock2.h> pour pouvoir créer et gérer les connections par socket.

Merci.
vendredi 5 novembre 2010 à 14:56:51 | Re : Clinet - Serveur

DeAtHCrAsH

Réponse acceptée !

Salut,

Seuls les applications clientes ne nécéssite pas de modification dans le routeur.
Dans le cas d'un serveur tu es toujuors obligé de mettre à jour les tables de routages dans ton routeur.

Autrement certains routeur supporte le plug and play, ce qui permet à ton application de les autoconfigurer.

Dans ton cas tu n'as pas d'autres choix que de jouer avec la configuration de ta livebox.

Cela n'est pas compliqué dès l'instant ou tu as compris le principe.

Autre chose, pense bien a autorisé les connections externes dans ton firewall!

Shell
dimanche 7 novembre 2010 à 16:47:57 | Re : Clinet - Serveur

didoux95

Salut,

Je te remerci, je pense avoir cerné le concept.

Je ne peux pas me connecter à un de mes serveur tant que le routeur n'est pas configuré. Les applications clientes ne nécessites pas un reparamétrage du routeur.

Cela implique qu'au lieu de créer un serveur auquel je vien me connecter, je peux installer un client qui va automatiquement se connecter à un serveur donné.. ?

Ce n'est pas mon objectif mais, pour ma culture générale, est-il possible d'installé sur mon PC un serveur qui s'appelerai "X", et qui serait accessible en faisait une résolution de son nom .. ? Sachant que, pour le cas de l'application que je suis en train de développer, le serveur peux changer d'adresse IP. Un nom de domaine est associé à une adresse IP unique. Du coup j'ai un idée de la réponse : non. Mais j'aimerai avoir l'avis d'une personne maitrisant les réseaux mieux que moi.. Y a t-il un moyen de mettre cette solution en oeuvre ?

Merci !
lundi 8 novembre 2010 à 16:03:31 | Re : Clinet - Serveur

DeAtHCrAsH

Réponse acceptée !

Salut,

Si X est le nom de ta machine alors tu ne pourra te connecter à ton serveur seulement depuis ton réseaux local.
Pour une connection a distance, et si ton IP est dynamique, la solution est de passer par un nom de domaine.

Certains routeurs offrent la possibilité de mettre a jour les liens entre un noms de domaine et une adresse IP.

Tu peux te procurer un nom de domaine gratuit sur dyndns.org par exemple.

Pour la mise a jour soit tu utilises ton routeur soit tu installes un petit programme sur ton PC qui s'en chargera.

Autrement pour ce qui est du serveur qui se connecte au client, ce n'est conceptuellemt pas bon car par definition un serveur ne fait que recevoir des connexions de la part des clients.

Shell
lundi 8 novembre 2010 à 19:04:24 | Re : Clinet - Serveur

didoux95

Salut,

Quand j'ai écri que ca pouvait être le serveur qui se connect au client je pensais à : plutôt que ce soit un serveur qui soit installé sur mes machines, ca peut être un client, donc qui initie la connection, et qui traite les demandes comme le serveur l'aurait fait.. du coup il n'y aurait plus eu de problème de configuration du routeur ! (:

Je viens de jetter un oeil sur dyndns.org ca à l'air d'être exactement l'objet de ma question ! Par curiosité, j'ai donc décidé de commencer la création d'un nom domaine (pour savoir quelles sont les informations nécessaires).

Arrêtes moi si je me trompe, mais j'ai l'impression qu'on ne peut pas avoir de serveur "personnalisé"; c'est-à-dire qu'il faut choisir les services, et les "devices" (périphériques ?), qui seront utilisés avec le nom d'hote. Qu'est ce que cela signifie ?

Merci !
lundi 8 novembre 2010 à 20:32:31 | Re : Clinet - Serveur

DeAtHCrAsH

Réponse acceptée !
A ta place, je garderai plutot la logique du coté serveur. Comme son nom l'indique, le client... n'est qu'un client :)

Autrement pour ce qui est de DynDNS voila ce qu'il faut que tu fasses:
- Tu te crées un compte sur DynDNS
- Tu te crées un nom de domaine gratuit (ou payant si tu ne veux pas utiliser les extension proposées par la version gratuite)
- Tu telecharges et installe sur un de tes pc serveur l'application cliente : http://www.dyndns.com/support/clients/

En gros l'application cliente s'occupera de mettre a jour ton IP sur le site de DynDNS, pour que ton nom de domaine soit toujours valide.

Pas besoin de te préoccuper de toutes les histoires de "serveur personnalisés".

Shell
lundi 8 novembre 2010 à 21:21:37 | Re : Clinet - Serveur

didoux95

Salut,

J'ai créé un nom de domaine dynamique, mais je viens de réaliser qu'il faudra quand même configurer le routeur du réseau auquel je serai connecté. Tant pis ..

J'ai prévu de conserver la première approche qui, au final, sera plus simple à mettre en oeuvre (configuration d'un seul routeur).

Merci pour toutes les réponses que tu m'as apporté.
A bientôt !
lundi 8 novembre 2010 à 22:30:01 | Re : Clinet - Serveur

DeAtHCrAsH


Salut,

Cela reste la meilleure solution selon moi et surtout la plus fexible dans le temps.
Ca te permettra par la même occasion d'élargir tes connaissances et ta compréhension de la réseautique.

Bon courage et bon apprentissage :)

Shell


Cette discussion est classée dans : serveur, réseau, machine, clinet


Répondre à ce message

Sujets en rapport avec ce message

Client/Serveur UDP sur 1 unique machine ! [ par sena ] Bonjour,j'ai fais deux programmes :un client et un serveur UDP.Ceux ci fonctionnent bien quand je les fait communiquer sur 2 machines différentes.Ce q Jeu en réseau [ par bubbless ] Bonjour, Et à l'aide ! ;) Je me suis mis récemment à programmer en c et, je doit actuellement réaliser un projet pour la fin de l'année : le jeu des Jeu réseau [ par goutbouyo ] Salut,J'essaye de mettre une fonction réseau à mon jeu.Dans l'initialisation, j'ai mis un thread qui initialise soit un serveur ou soit un client.Ensu adressage sur internet d'un poste du réseau [ par alain34270 ] Bonjour,Voilà le schéma du problème :Un réseau de quelques ordinateurs est connecté à internet par le poste A. Je souhaite, depuis l'extérieur, et via Comportement d'un pgm sur un serveur avec biprocesseur [ par dbmaster_64 ] Bonjour,J'ai un programme écrit en C++ qui fonctionne à merveille sur un Serveur qui un seul processeur.  Mais quand j'ai essayé de le mettre sur une RPC + Ecriture dans fichier sous Linux [ par Boundy ] Hello à tousVoila, j'utilise le rpcgen pour une application client/serveur sous linux. J'ai donc deux fichiers à modifier qui sont personne_server.c e Sonder le réseaux. [ par raphael_kindt ] Bonjour à tous,Je cherche un moyen pour sonder le réseau.Je m'explique:Je voudrai connaître toutes les machines du réseau local qui écoute sur un port programme socket client/serveur dans seul ficier [ par hanane7575 ] bonjour tout le monde, j'au une ptite problem j'ai deja faire un programme client/serveur qui permet de transfers des fichies a ce niveau la tt passe machine virtuelle 2007 [ par malbackt ] Bonjour à tous;Pourriez vous m'aider à résoudre ce problème s'il vous plaît,Virtual PC n'a pas pu ouvrir le pilote des services Réseau d'ordinateurs v Intergiciels et C++.... [ par karistote ] Bonjour !Je ne suis que débutant en C++, bien qu'ayant programmé un peu de C et beaucoup de PHP :pJe me tourne aujourd'hui vers ce language avec pour


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,231 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales