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 :

Gestion des Sockets Protocole TCP/IP


Sujet :

C++Builder

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut Gestion des Sockets Protocole TCP/IP
    Bonjour à tous,
    Je souhaiterai faire fonctionner un jeu avec deux ordinateurs par leur IP.
    Pour connecter les deux ordinateurs avec l'object TUdpSocket :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            AnsiString StrIp;
            AnsiString StrPort="1000";
            GetLocalAdress:StrIp;
            TCP->LocalHost=StrIp;
            TCP->LocalPort=StrPort;
            TCP->RemoteHost=OtherIp->Text;
            TCP->RemotePort=OtherPort->Text;
            TCP->Active=true;
    J'ai mis un port commun aux deux ordinateurs (1000) [est ce possible que ce port soit ouvert sur ces deux ordinateurs?]

    Chaque ordinateur démarre l'application et se connectent mutuellement à leur IP. Mais après comment gérer les sockets que l'on recoit.

  2. #2
    Membre actif Avatar de Mattetfamilly
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Points : 201
    Points
    201
    Par défaut
    Exactement, le port d'écoute peut être strictement le même sur chaque PC.
    Mais dans ce cas, tu ne peux ouvrir qu'une seule fois le logiciel sur chaque PC, sinon tu auras un message d'erreur à l'ouverture de la connexion t'indiquant que tu ne peux pas ouvrir deux ports d'écoute avec la même propriété Port.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    Sinon un système serait préférable : un serveur où se connecte les 2 clients...
    Un TClientSocket et un TServerSocket... .
    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
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    AnsiString Str1;
    AnsiString Str2;
            if (CheckBox1->Checked==true)    // Si host
            {
                    GetLocalAddress: Str1;
                    Client->Address=Str1;
                    LocalPort: Str2;
                    Server->Port=StrToInt(Str2);
                    Client->Port=StrToInt(Str2);
                    Client->Host=Server->Name;
                    Client->Active=true;
                    Server->Active=true;
            }
    
            if (CheckBox2->Checked==true)    // Si Client
            {
                    Client->Address=Str1;
                   // Client->Port=
            }
            GroupBox1->Visible=false;    //
            Selection->Visible=false;    //
            PF->Visible=true;            //
    }

    Mais ca ne m'apporte rien en quoi servent réellement les sockets et la facon de les utiliser.
    De plus, j'aimerai savoir comment récupérer le port du Host pour que le client se connecte sur le Server.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    J'ai trouvé la réponse pour récupérer le port et l'ip du server :
    - RemoteHost
    - RemotePort

  5. #5
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    bonjour
    tu peux égalament travailler en UDP avec un port d'écoute par client, et un port d'émission quand le client veux communiquer avec le serveur

    tu peux utiliser pour ce faire les composants ICS de http://www.overbyte.be/frame_index.html
    cordialement

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    Merci beaucoup ! Je vais essayer ca si jamais ca ne marche pas je vous le dirai...

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    Ouah! Ils sont vraiment complets ces composants !
    Encore merci.
    Maintenant va falloir que je comprenne comment m'en servir .

    Euh encore une petite question : Y a t-il une commande sous C++ Builder 6 qui puisse aller chercher l'adresse Ip local de l'ordinateur... hors mis la fonction "LocalAdress: Str" qui ne trouve pas l'ip...

Discussions similaires

  1. [WD19] Gestion des sockets
    Par AndroGeek974 dans le forum WinDev
    Réponses: 5
    Dernier message: 20/03/2015, 18h38
  2. Gestion des socket avec borland c++
    Par Darkaurora dans le forum C++Builder
    Réponses: 0
    Dernier message: 23/05/2010, 17h49
  3. Bug JVM - gestion des sockets
    Par boby62423 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 18/02/2010, 09h26
  4. gestion des sockets
    Par rodgeurette dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/06/2008, 11h34
  5. Réponses: 2
    Dernier message: 12/10/2004, 13h04

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