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 :

Client/Server Socket ..


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 114
    Points : 64
    Points
    64
    Par défaut Client/Server Socket ..
    Salut ^^
    J'ai encore une question ...
    Je voudrais 'envoyer une variable' :
    J'ai mis sa sur un TButton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var
    a : String;
    begin
    a := ShowMessage(EditFonction.Text);
    ClientSocket1.Socket.SendText(a);
    end;
    Mais sa me marque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Erreur] Unit1.pas(431): Types incompatibles : 'String' et 'procedure, untyped pointer or untyped parameter'
    Jsuis un peut nul en socket ^^
    Si vous avez des idées
    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Qu'est ce que tu veux faire ?
    Tu veux envoyer un message contenant une chaîne de caractère ?
    Tu veux envoyer le contenu de ton EditFonction ?

    Si oui, tu peux faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClientSocket1.Socket.SendText(EditFonction);
    Par contre, le code suivant n'est pas correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a := ShowMessage(EditFonction.Text);
    ShowMessage est une procédure, donc elle ne renvoie pas une variable de type string! Ce sont les fonctions qui peuvent retourner un résultat ...

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 114
    Points : 64
    Points
    64
    Par défaut
    Beh en faite je voulais faire envoyer un message d'erreur depuis Edit.Text
    un message d'information depuis edit.text aussi
    Donc je ne sais pas comment faire
    Puis j'ai voulus envoyer la variable a
    qui contient un showmessage
    Aurais tu une idée ?
    Merci !!

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    En fait, il te faut faire ton propre protocole pour pouvoir gérer les ShowMessages etc etc ...

    Je m'explique :
    Admettons que tu définis un message de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClientSocket1.Socket.SendText('003 '+EditFonction);
    Lorsque le client recevra ce message, tu découpes ta chaine pour en extraire les infos essentielles, à savoir le type de message (003) et le message lui même.

    Donc, tes messages seront toujours envoyés via le format Code+Message et pour les récupérer, on fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TForm1.Button1Click(Sender: TObject);
      var
        Code:Integer;
        MessageRecu:String;
    begin
        MessageRecu:='003 Coucou tout le monde';
        Code:= StrToInt(copy(MessageRecu,0,3));
        MessageRecu:= RightStr(MessageRecu,length(MessageRecu)-4);
        case Code of
          003: ShowMessage(MessageRecu);
        end;
    end;
    C'est pour t'expliquer le principe ... Le code du début du message donnera l'action à effectuer ... Dans mon cas, le code 003 effectuera un ShowMessage ...
    J'ai un peu de mal à faire passer le message je pense

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 114
    Points : 64
    Points
    64
    Par défaut
    Ouaaaa
    Merci Ero Sennin mais ce n'est pas trop ce que je voulais
    Enfaite jvais expliquer dans les detaille avec un autre exemple ! :
    ____________________
    Dans mon Client je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClientSocket1.Socket.SendText('Papier press');
    Dans mon Server je met :
    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
     
    Procedure TForm1.server read ....
    var
    MyString : String;
    begin
    MyString := Socket.ReceiveText;
    if MyString = 'Papier Press' then
    begin
      Memo1.Clear;
      Clipboard.Open;
      if Clipboard.HasFormat(CF_TEXT) then
      begin
        MyHandle:=Clipboard.GetAsHandle(CF_TEXT);
        Memo1.Lines.Add(StrPas(GlobalLock(MyHandle)));
        GlobalUnlock(MyHandle);
      end;
      if (Clipboard.HasFormat(CF_BITMAP)) or
        (Clipboard.HasFormat(CF_PICTURE)) then
        Image1.Picture.Assign(Clipboard);
      Clipboard.Close;
    end;
    Ok mais sa sa le liste que dans le server moi jvle veut dans le client !
    Voila

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 114
    Points : 64
    Points
    64
    Par défaut Serieux probleme avec les Client et Server Socket
    Salut
    Bon, je voudrais faire envoyer des message avec TClientSocket et TServerSocket .
    Je voudrais proceder de la maniere suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    begin
    ClientSocket1.Socket.SendText('ShowMessage(EditMessage.Text)');
    MemEtat.Lines.Add('Informations envoyées au serveur');
    end;
    evidement le code et faux lol
    et pour le server beh je sais pas comment faire ...
    Bon voila
    Merci

  7. #7
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Jette un oeil à la source de Nono

    A+

  8. #8
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Mais que vient faire ton ShowMessage ici ?
    On n'a toujours pas compris ce que tu veux faire

    Si tu veux envoyer EditMessage.text c'est simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ClientSocket1.Socket.SendText(EditMessage.Text);
    MemEtat.Lines.Add('Informations envoyées au serveur');
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 114
    Points : 64
    Points
    64
    Par défaut
    Oui merci Nono je le sais ^^
    Mais je sais pas trop comment expliquer donc c'est pas grave

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme de communication client server (socket
    Par pepejorje dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 07/02/2014, 10h36
  2. connexion client server socket
    Par perla110 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 10/04/2013, 01h14
  3. [DELPHI]client/server socket envoi tchart
    Par mariachi dans le forum Web & réseau
    Réponses: 0
    Dernier message: 01/01/2009, 15h28
  4. Problème de communication socket (Client->Server)
    Par Julien_C++ dans le forum C++Builder
    Réponses: 6
    Dernier message: 21/05/2007, 21h28
  5. [Socket][Client/Server]Exception d'origine inconnue
    Par willowII dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 03/11/2005, 22h36

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