IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Annoncer au serveur la configuration


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Par défaut [Résolu] Annoncer au serveur la configuration
    Bonjour,
    Je vais essayer d'être clair.
    J'ai x hôtes sur un réseau qui ne sont pas encore identifiés.
    J'ai 1 client qui doit sélectionner un serveur parmis x-1.
    Mon application est niveau client.
    Le client connait les adresses IP (fixes) des hôtes-serveurs potentiels (mais pas le nombre).
    Le client fait des requêtes ARP pour identifier les hôtes-serveurs potentiels.
    Une fois que le client a choisis son serveur, il faudrait que le client dise au serveur d'ouvrir son socket, faire son bind et se mettre en attente client.

    1) Est-ce que tout ça paraît logique ?
    2) Comment annoncer au serveur choisis d'ouvrir son socket, faire son bind et se mettre en attente client ?

    Merci

    EDIT : j'ai poser ma question trop tôt. Les données ont (déjà) changé.

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par wilval Voir le message
    1) Est-ce que tout ça paraît logique ?
    Inhabituel plutôt.
    En général, quand un serveur se lance, il crée un socket est se met en attente d'un client. Quand un client se connecte, un nouveau thread ou processus est en général lancé.
    Citation Envoyé par wilval Voir le message
    2) Comment annoncer au serveur choisis d'ouvrir son socket, faire son bind et se mettre en attente client ?
    Avec un socket d'écoute ? Mais un socket d'écoute déconnecté (UDP).

    Est il envisageable de voir les serveur se mettre en attente à leur lancement ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Par défaut
    Désolé mabu pour ce premier post.
    Je ne peux supprimer ce sujet donc je vais continuer à la suite. C'est sur le même thème. Et je vais commencer par le début.
    Problème:
    J'ai des hôtes sur un réseau (encore inconnus). Je veux compter le nombre d'hôtes.
    Question :
    Puis-je faire une seule requête ARP (donc sans indiquer une IP précise) ? Ou dois-je faire autant de requête ARP (avec IP des hôtes connues) que d'hôtes ? Dans ma deuxième solution, j'arréterai de faire des requêtes quand il n'y aura plus de réponses. Je débute la requête ARP avec l'adresse IP par défaut 192.168.0.2 puis 192.168.0.3 etc
    En gros, existe-t-il une requête "Qui est sur le réseau ?" ?
    Merci

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par wilval Voir le message
    En gros, existe-t-il une requête "Qui est sur le réseau ?" ?
    Pas de façon générale... Par contre, tu peux avoir des machines avec un port UDP ouvert en listen, et tu pourras alors faire un broadcast UDP sur ton réseau, et récupérer les réponses.

    Au niveau Ethernet, par contre, rien n'est garanti... Un broadcast Ethernet te garantit que tout le monde le verra, mais rien ne te garantit qu'ils répondront quoi que ce soit !
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    Pas de façon générale... Par contre, tu peux avoir des machines avec un port UDP ouvert en listen, et tu pourras alors faire un broadcast UDP sur ton réseau, et récupérer les réponses.
    Tu veux dire la fonction listen qui permet d'attendre des connexions sur une socket (avec une file max) ?

    Citation Envoyé par Mac LAK Voir le message
    Au niveau Ethernet, par contre, rien n'est garanti... Un broadcast Ethernet te garantit que tout le monde le verra, mais rien ne te garantit qu'ils répondront quoi que ce soit !
    Si j'envoie une requête ARP sur réseau, il se peut que l'hôte conerné ne me réponde pas ? C'est dommage si tel est le cas.

    Pour résumé :
    Je suis un hôte. Il y a d'autres hôtes sur le réseau mais je ne connais rien d'eux si ce n'est qu'ils sont en UDP listen. 1) Je fais un broadast UDP sur le réseau. En fonction des réponses, j'obtiens le nombre total d'hôtes. 2) ARP request sur chaque hôte du réseau pour connaître leur MAC. 3) Je sélectionne un hôte. Et là il faut que je dise à cet hôte (qui sera serveur) d'ouvrir un socket TCP. 4) Comment faire ? 5) Est-ce que tout ça est possible ?

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par wilval Voir le message
    Tu veux dire la fonction listen qui permet d'attendre des connexions sur une socket (avec une file max) ?
    Oui.

    Citation Envoyé par wilval Voir le message
    Si j'envoie une requête ARP sur réseau, il se peut que l'hôte conerné ne me réponde pas ? C'est dommage si tel est le cas.
    ARP, si, il va répondre (enfin, normalement, il le fait, hors bug / perte de trame).
    Mais pour un BC "générique", ne répondront que les machines qui SAVENT gérer ce BC...

    Citation Envoyé par wilval Voir le message
    1) Je fais un broadast UDP sur le réseau. En fonction des réponses, j'obtiens le nombre total d'hôtes.
    Ainsi que leurs adresses IP, n'oublie pas.

    Citation Envoyé par wilval Voir le message
    2) ARP request sur chaque hôte du réseau pour connaître leur MAC.
    Probable que ce soit inutile, et que l'adresse MAC sera déjà dans le cache ARP... Ceci étant dit, via un BC UDP pour énumérer les serveurs, cette étape n'a plus AUCUN intérêt, car tu vas rester au niveau IP : tu n'auras pas besoin de descendre au niveau Ethernet.

    Citation Envoyé par wilval Voir le message
    3) Je sélectionne un hôte. Et là il faut que je dise à cet hôte (qui sera serveur) d'ouvrir un socket TCP.
    Effectivement, c'est bien ça, d'après ta description du problème.

    Citation Envoyé par wilval Voir le message
    4) Comment faire ? 5) Est-ce que tout ça est possible ?
    Via une requête UDP spécifique, sur le même port que celui servant à l'énumération, mais ciblée vers le serveur choisi.
    C'est donc suivant le contenu de la trame que tu vas distinguer une sorte de "ping d'énumération" (envoyé en BC), et une demande d'ouverture de port TCP (le datagramme UDP peut contenir des éléments comme le port TCP à utiliser).

    En bref, ton socket UDP va te servir de "système de contrôle" de la connexion TCP, pour énumérer les serveurs, ouvrir et fermer la socket TCP. Et c'est parfaitement possible, j'ai même déjà implémenté un système de ce style pour détecter (avec le moins de charge réseau possible) l'intégralité des machines d'un certain type présentes sur un LAN.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. PB: Serveur IAS configuration du reports_path ?
    Par krilas dans le forum Forms
    Réponses: 0
    Dernier message: 16/02/2010, 10h31
  2. [Serveur] Quelle configuration?
    Par Pyrithe dans le forum Ordinateurs
    Réponses: 0
    Dernier message: 17/11/2009, 09h23
  3. Réponses: 2
    Dernier message: 22/10/2008, 13h35
  4. [Wamp] Serveur mal configuré ?
    Par Pyrhus dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 29/05/2006, 01h43
  5. [SERVEUR MAIL] configuration en local et plus
    Par storm_3000 dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 31/03/2006, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo