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 :

Problème avec TCLientSocket


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de rzayani
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Par défaut Problème avec TCLientSocket
    Bonjour,


    J'ai une appilication client serveur dont le client est developpé sous borland c++ 5.0. (TClientSocket).

    Voivi le code de connexion, envoi reception est fermuture de la connexion
    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
     
            socket = new TClientSocket(NULL);
            socket->Address= strAdress;
            socket->Port=PortNum;
     
            //Connect to the server
            socket->Open();
     
            // send command connect
            socket->Socket->SendText("message");
     
            // Read id of the client
            strResponse = socket->Socket->ReceiveText();
     
            if(strcmp(strResponse,"")==0)
             {
                         socket->Close();
             }
    Parmi les fonction Open, SendText, receivetext et close, seule la fonction Open à bien fonctionnée. En effet:

    Le client à bien connecté avec le serveur.
    Le message n'a pas été envoyé
    la fonction ReceiveText n'est pas bloquante.
    La fonction close ne ferme pas la connexion (le serveur ne detecte la fermuture de socket que lorsque je ferme l'application).

    Y'a t'il un problème ou une fonction manquantee dans mon code?

    Merci pour vos aides

  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 que tu utilise les évènements OnRead pour le client et OnClientRead sur le serveur (si tu la fait sous BCb avec TServerSocket)

  3. #3
    Membre confirmé Avatar de rzayani
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Par défaut
    Même la fonction SendText n'a pas fonctionnée.
    Et comment je peux utiliser l'événement OnRead?

  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
    En fait, l'évènement OnRead se produit dès que le client reçoit un message du serveur, tu pourra alors dans cette évènement lire par un ReceiveText().

    A mon avis le sendMessage fonctionne bien, c'est juste qu'au niveau du serveur tu doit pas le récupérer correctement, ton serveur est développé sous quel plateforme ?

    Sinon fait une recherche sur ce forum, il y as plein de sujet sur les socket

  5. #5
    Membre confirmé Avatar de rzayani
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Par défaut
    Mon serveur est développé sous Linux.

  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
    Essaye peut-être de créer également un petit serveur de test sous builder, qui ne fait qu'affiche les messages qu'il reçoit et envoie un texte de test, tu verra si ton client fonctionne (je ne dit pas que ton serveur n'est pas bien développé, mais peut y a-t-il une incompatibilité )

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/12/2009, 20h48
  2. Problème avec TClientSocket
    Par Chyokyka dans le forum Débuter
    Réponses: 7
    Dernier message: 07/11/2007, 18h28
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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