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 :

[Débutant] Envoyer et recevoir un Array par WinSocks


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 11
    Points
    11
    Par défaut [Débutant] Envoyer et recevoir un Array par WinSocks
    Bonjour a toutes et a tous,

    J'ai encore un probleme a vous soumettre lol ,

    J'essais , avec le composant winsocks , d'envoyer et recevoir des données et plus particulierement un tableau de chaine de caracteres ( ou "array of string" ).
    Seulement je ne sais pas dutout coment faire ...

    Voici m'a demarche :
    1/du coté client:
    Je met mes informations dans un tableau de type array. Puis je mesure ça taille et j'envoie celui-ci a la manière d'un buffer :
    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
     
    type
      info_a_send = array [1..500] of string;
     
    procedure envoie_donne();
    Var
      infos : info_a_send;
      taille : integer;
     
    begin
           infos[1]:='info_ordi';
           infos[2]:='coucou';
           infos[3]:='lol';
           taille:=length(infos);
           ClientSocket1.Socket.SendBuf(infos,taille);
    end;

    2/ Du coté serveur :
    Je recois les informations du client et je tente de les gerer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    Var
      Buffer : array[0..1000] of string ;  
      taille : integer;
     
    begin
     
      taille:=Socket.ReceiveLength; 
      Socket.ReceiveBuf(Buffer,taille);
      Edit1.Text:=Buffer[1];
     
    end;
    Voila ma methode que j'applique , néanmois j'ai une erreur des que le serveur recois le tableau et mon programme plante ... Pouvez vous m'aider ?


    Merci d'avance a tous ceux qui liront ce message

    Cordialement
    Lucho

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Tu devrais t'inspirer de cet article :
    http://nono40.developpez.com/sources/source0015/

    Dans un programme de transfert de données par réseau, il est très important de gérer les éventuelles erreurs de communication... Je reconnais que c'est plus compliqué que ton code, mais cette gestion des erreurs est essentielle.
    De retour parmis vous après 10 ans!!

Discussions similaires

  1. Envoyer plusieurs array par Json
    Par alf78fr dans le forum jQuery
    Réponses: 2
    Dernier message: 06/05/2015, 14h56
  2. Envoyer et recevoir des fichiers par FTP
    Par oussmax dans le forum Réseau
    Réponses: 0
    Dernier message: 10/03/2013, 20h38
  3. [Tableaux] Envoyer un Array par un form method get
    Par Zen_Fou dans le forum Langage
    Réponses: 4
    Dernier message: 22/03/2006, 19h51
  4. Réponses: 2
    Dernier message: 26/01/2005, 21h00
  5. [VB6] Comment envoyer un mail HTML par Winsocks ?
    Par hedgehog dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/05/2004, 10h04

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