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

Delphi Discussion :

Communication Client/Serveur avec des applications Delphi via les composants Indy ou ceux du Socket


Sujet :

Delphi

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 15
    Par défaut Communication Client/Serveur avec des applications Delphi via les composants Indy ou ceux du Socket
    Bonjour !
    J'ai développé une application Client/Serveur sous delphi XE à l'aide des composants TclientSocket et TServerSocket. La communication Client/Serveur fonctionne correctement lorsque je fais des tests sur une seule machine avec ou sans la connexion Internet. Mais quand je passe par la connexion internet pour tenter de faire dialoguer les deux applications installées sur deux machines différentes, rien ne se produit, bref pas de réaction coté serveur comme coté client. Quand j'ai testé de nouveau en utilisant plutôt les composants Indy (TIdTCPClient et TIdTCPServeur), le même scénario se produit. Mes questions sont les suivantes :

    1. Y-a-t-il un support intermédiaire (Routeur ou hébergeur par exemple) que je dois appeler entre le Client et le Serveur lorsque qu'il s'agit de passer par internet?
    2. Puisque l'adresse IP du serveur change à chaque fois qu'on se reconnecte sur internet, est ce que le numéro de port et l'adresse IP seuls suffisent pour établir une communication entre Client/Serveur via Internet?
    3. Autrement dit, Est ce qu'il suffit d'une simple connexion internet pour faire dialoguer deux applications Client/Serveur? Quelles sont alors toutes les ressources externes nécessaires pour établir une liaison entre un Client et un Serveur lorsqu'on utilise une connexion internet.


    NB. J'ai utilisé les port à partir de 3000 pour faire les tests et une fonction qui me permet de récupérer automatiquement l'adresse IP coté serveur.

    Merci de m'apporter votre contribution.

  2. #2
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    la question est de savoir si le serveur possède ou non une adresse IP publique.

    voir cet article
    http://lookinside.free.fr/delphi.php?Socket
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 15
    Par défaut
    Bonjour Mr Paul TOTH !
    J'ai lu ton article et, je l'ai trouvé très enrichi. Si j'ai bien compris, un routeur est nécessaire pour attribuer une adresse IP publique à un ordinateur avant de lui permettre de communiquer avec son client. Autrement dit, je ne peux faire communiquer mes deux application librement avec une simple connexion internet. Dans ce cas, comme un PC peut prendre jusqu'à deux cartes réseaux, est ce qu'il est possible de configurer la deuxième carte réseaux en routeur? Merci de m'éclairer encore SVP...

  4. #4
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    bonjour,

    ce n'est pas une question de nombre de carte mais de mode de connexion...

    comment vos 2 PC accèdent-ils à Internet ?

    par exemple, avec une connexion par modem, le PC est directement connecté à Internet et possède déjà une adresse IP publique; s'il est branché derrière un routeur/box/modem, il a probablement une adresse IP privée sur le réseau interne du boitier, et c'est lui qui possède l'adresse IP publique - car il y a toujours un adresse publique quelque part. Après c'est une question de configuration, le routeur peut aussi être transparent et attribuer directement son adresse IP publique au PC.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 15
    Par défaut
    Merci Paul !
    J'utilise un modem mobile clé USB (Nexttel 3G). Je voudrais savoir exactement quelle adresse je dois utiliser coté client: est ce celle donnée par la commande ipconfig sur le cmd du serveur? Ou bien une autre adresse car, je n'ai pas de routeur.

  6. #6
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par manoupier Voir le message
    Merci Paul !
    J'utilise un modem mobile clé USB (Nexttel 3G). Je voudrais savoir exactement quelle adresse je dois utiliser coté client: est ce celle donnée par la commande ipconfig sur le cmd du serveur? Ou bien une autre adresse car, je n'ai pas de routeur.
    en 3G ? je ne suis pas certain que les opérateurs mobiles permettent l'accès au PC.

    il suffit de regarder si l'adresse IP est dans une plage privée

    10.0.0.0/8 10.0.0.0 – 10.255.255.255
    172.16.0.0/12 172.16.0.0 – 172.31.255.255
    192.168.0.0/16 192.168.0.0 – 192.168.255.255

    https://fr.wikipedia.org/wiki/R%C3%A9seau_priv%C3%A9
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 15
    Par défaut
    Voici l'adresse que j'ai en tapant IP config sur le serveur: 10.128.4.130
    Je crois qu'il est bien dans la plage dont t'as cadré.
    Marci

  8. #8
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par manoupier Voir le message
    Voici l'adresse que j'ai en tapant IP config sur le serveur: 10.128.4.130
    Je crois qu'il est bien dans la plage dont t'as cadré.
    Marci
    oui c'est le réseau privé de l'opérateur mobile, le PC n'est donc pas joignable.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  9. #9
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 15
    Par défaut
    Je comprends très Paul mais, ce qui est paradoxal c'est que cette adresse fonction lorsque je fais les tests sur une même machine. Bref quand le Client envoie une requête au serveur en utilisant cette adresse, le serveur lui répond sans problème lorsque l'échange se fait sur une même machine. C'est bizarre, sûrement il y a un détail à connaître... Merci de m'aider à percer ce mystère

  10. #10
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    il n'y pas de mystère (sauf toi toi, mon toit), le PC connait sa propre adresse et localement il se parle à lui même sans solliciter Internet.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  11. #11
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 15
    Par défaut
    Je te comprends parfaitement Paul mais, je réitère que sur le même poste, il a fallut que le client utilise l'adresse IP internet fourni par ipconfig avant que la connexion ne soit possible. Par contre, quand je met autre chose, la connexion ne passe plus...

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/06/2013, 10h34
  2. Communiquer avec des applications Windows via une application Web J2EE
    Par Slimouch dans le forum Développement Web en Java
    Réponses: 8
    Dernier message: 17/08/2012, 14h15
  3. communication client serveur avec les sockets
    Par timtima dans le forum Linux
    Réponses: 2
    Dernier message: 07/11/2007, 10h23
  4. Réponses: 5
    Dernier message: 23/06/2007, 10h45
  5. client serveur avec des mailslots
    Par oclone dans le forum Développement
    Réponses: 3
    Dernier message: 26/12/2006, 17h29

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