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

C++Builder Discussion :

Passage d'un réseau local à internet


Sujet :

C++Builder

  1. #1
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut Passage d'un réseau local à internet
    Salut

    Voilà mon problème. J'ai créé une application en fait c'est un jeux qui se joue avec quatre joueurs. On peut jouer en vis à vis (hotseat) ou à distance en réseau local (j'utilise les socket).
    Maintenant je voudrais que les joueurs puissent jouer à de plus grandes distances donc à priori via internet.
    Comment puis je faire?

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Il faut ouvrir le port du routeur et indiquer l'adresse ip de ce routeur

  3. #3
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par pottiez Voir le message
    Il faut ouvrir le port du routeur et indiquer l'adresse ip de ce routeur
    Pourrais tu être plus précis. Par exemple en me disant comment il est possible de récupérer l'adresse du routeur. Comme il existe plusieurs de mode de connexion à internet (ADSL, passage par un proxy entre autre)

  4. #4
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Ca c'est a toi de voir, ça ne peut pas, a priori, être fait par code, il faut que ce soit l'administrateur réseaux qui le face, récupéré l'adresse IP par contre ca doit pouvoir ce faire, certain petit programme le font.

  5. #5
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    Effectivement je sais récupérer mon adresse IP mais je ne sais pas si ça suffit. Si par exemple je récupère l'adresse IP de mon PC à mon domicile et que de mon boulot je fait un ping je crois que la réponse sera négative. Je sais par contre que les adresse MAC sont uniques mais même si je la récupère je ne sais pas trop comment je vais pouvoir l'utiliser avec mes sockets

  6. #6
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Tu ne peut pas utiliser ton adresse MAC avec les sockets.
    L'adresse que tu récupère, ne doit pas être celle de ton PC mais celle de la machine qui se connecte a Internet, si c'est un modem ADSL sur ton PC alors il doit être détecté comme une carte réseaux et ce doit alors être l'adresse IP de ton PC, mais si c'est une Box (Livebox, Freebox,...) par exemple alors la c'est adresse IP de la Box du coté Internet (attention les box on deux interface (minimum) une réseaux internet et une autre réseaux local)

  7. #7
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    Je vais faire un test en essayant de "pinguer" mon PC à partir de mon PC au boulot si ça marche je n'ai plus qu'à mettre une fonction pour récupérer l'adresse IP de la machine

  8. #8
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    Effectivement j'ai vue que ma machine a deux adresse IP. En fait c'est sur l'adaptateur WIFI que j'ai trouvé ces deux adresses. J'ai essayer le ping de mon PC au boulot vers mon PC à la maison le résultat est négatif peut être parce que au boulot le PC passe par un proxy. Donc pour le moment je n'ai pas de possibilité de voir si je m'en sort juste avec l'adresse IP des machines.

  9. #9
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Sinon regarde du coté des DNS dynamique avec Dyndns par exemple.

  10. #10
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    J'ai trouvé un article sur la théorie des réseaux locaux et étendus je vais potasser ça et j'y trouverais peut être une solution.

  11. #11
    Membre expérimenté Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par défaut
    tu dois configurer la NAT ou DMZ (c'est identique) du routeur !

    c'est plus souvent la NAT

    1°)

    Ton socket doit se connecter sur l'ip WAN de ton adversaire ou meilleur
    son dns ( voir no-ip.com ) car l'ip WAN change le dns non !

    2°)
    ton adversaire devra configurer la NAT son routeur en y mettant son ip du pc et le port utilisé


    3°)
    il est toujours possible de configurer un routeur via programmation
    ou telnet car certain router son configurer via leur cdrom.

    4°)
    autre solution :
    Utiliser un serveur ou les clients se connectent pour y lire les informations que ton jeux aurais du envoyer ! Donc plus d'envoi a travers les routeurs.


    @+

  12. #12
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Bily.sdi Voir le message

    Ton socket doit se connecter sur l'ip WAN de ton adversaire ou meilleur
    son dns ( voir no-ip.com ) car l'ip WAN change le dns non !

    2°)
    ton adversaire devra configurer la NAT son routeur en y mettant son ip du pc et le port utilisé
    Mon problème est de récupérer l'IP ou le dns et le nom de la machine

    3°)
    il est toujours possible de configurer un routeur via programmation
    ou telnet car certain router son configurer via leur cdrom.
    Si tu as des exemple je suis preneur. J'ai vu que pour ma livebox (avec liaison wifi) il y avait possibilité de configurer des éléments comme le routeur ainsi qu'un DNS Dynamique.
    4°)
    autre solution :
    Utiliser un serveur ou les clients se connectent pour y lire les informations que ton jeux aurais du envoyer ! Donc plus d'envoi a travers les routeurs.
    Là ce n'est pas un problème puisque mon jeu fonctionne déjà avec un serveur mais en local. Je suppose qu'il faut mettre le serveur sur une page web ou quelque chose comme ça. Mais là je ne saiis pas faire.

    En tout cas merci pour toutes ces informations.

  13. #13
    Membre expérimenté Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par défaut
    récupérer l'ip de ta machine

    Unit1.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    //---------------------------------------------------------------------------
     
    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
     
    #include <iostream.h>
    #include <stdlib.h>
    #include <windows.h>
    #include <winsock.h>
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published:    // Composants gérés par l'EDI
            TEdit *Edit1;
            TButton *Button1;
            void __fastcall Button1Click(TObject *Sender);
    private:    // Déclarations utilisateur
    public:        // Déclarations utilisateur
     
              void AfficheLocalIP(void) ;
            __fastcall TForm1(TComponent* Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      AfficheLocalIP() ;
    }
     
    void TForm1::AfficheLocalIP(void)
    {
      struct sockaddr_in sin ;
      struct hostent * phe ;
      char FAR buffer[64] ;
     
      WORD wVersionRequested;
      WSADATA wsaData;
      int err;
     
      wVersionRequested = MAKEWORD(1, 1);
      err = WSAStartup(wVersionRequested, &wsaData);
     
        if (err != 0)
        {
          //cerr << "Impossible de trouver winsock.dll" ;
          Edit1->Text = "Impossible de trouver winsock.dll";
        }
        gethostname(buffer, sizeof(buffer)) ;
        phe = gethostbyname(buffer) ;
     
        if(phe==NULL)
        {
          //cerr << "Erreur : pointeur nul";
          Edit1->Text = "Erreur : pointeur nul";
          system("PAUSE");
          exit(1) ;
        }
     
      memcpy(&sin.sin_addr.s_addr, phe->h_addr, phe->h_length);
     
      //cout << "Hote : " << buffer << endl ;
      Edit1->Text = buffer;
     
      //cout << "Adresse locale : " << inet_ntoa(sin.sin_addr)<< endl ;
      Edit1->Text  =   Edit1->Text + "  " + AnsiString(inet_ntoa(sin.sin_addr));
     
      WSACleanup() ;
    }
    si tu met un dns tu n'a plus besoin de connaitre l'ip !
    tu utilise le dns pour communiquer ! Dans le dns se cache ip actuelle.

    je n'ai pas beaucoup d'info sur ton application et ce que tu utilises !

    Bonne chance

  14. #14
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    J'utilise les sockets de la VCL (SocketServer et SocketClient de mémoire). J'ai procédé de la manière suivante, le premier joueur est le serveur et les trois autres joueur sont clients. Le jeu peut commencer quand tous les clients sont connectés. Chaque fois qu'un joueur joue un coups l'information est envoyée au serveur qui la répercute à tous les clients. De même les joueurs peuvent s'envoyer des messages et dans ce cas seul le destinataire peut voir le message. Pour plus d'info voir ma page perso http://perso.orange.fr/remi.gouyon/ rubrique Djambi
    En attendant je vais implanter ton code

  15. #15
    Membre expérimenté Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par défaut
    cool , moi j'ia du faire le jeu stratego en reseau !

    ton interface est dynamique ?

    fais tu des deplacement de tes images avec la souris ?

    je te propose de mettre t image de la meme forme que le sol
    en hexagone

    bon amusement

  16. #16
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    Les wargames se jouent soit en vis à vis soit par mail. Il n'y a que le Djambi qui se joue en réseau (local) et que je voudrais étendre à internet.
    Pour ce qui est des images j'ai fait ce que j'ai pu avec mes petits doigts. J'ai une bonne formation en dessin industriel mais pas du tout en dessin d'art. C'es un peu pour ça que je cherche un infographiste bénévole.
    Mais je m'éloigne du sujet.
    Je viens de tester ton code ça marche très bien sur ma machine au boulot. Je n'ai pas encore essayé sur ma machine à mon domicile je te dirais ce que ça a donné.

  17. #17
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    Effectivement ça marche bien aussi chez moi. Je récupère bien mon adresse IP.

  18. #18
    Membre expérimenté Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par défaut
    super je suis content pour vous

    @+

Discussions similaires

  1. Comment joindre un réseau local à internet.
    Par ceroxono dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 18/05/2009, 19h12
  2. 2 accès Internet sur un réseau local
    Par MagicManu dans le forum Hardware
    Réponses: 6
    Dernier message: 12/06/2008, 15h38
  3. Utiliser JADE sans internet ni réseau local
    Par moumoulle dans le forum Programmation par agent
    Réponses: 3
    Dernier message: 06/03/2008, 10h13
  4. Réponses: 8
    Dernier message: 23/06/2007, 10h38
  5. Réponses: 9
    Dernier message: 14/01/2007, 07h51

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