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

Lazarus Pascal Discussion :

Communication en réseau local


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2017
    Messages : 8
    Par défaut Communication en réseau local
    Bonjour!

    J'utilise un Raspberry (OS: Raspbian),et je souhaite envoyer des données à une autre machine connectée sur mon réseau local (= PC fonctionnant sous Windows).

    Pour cela j'ai créé un nouveau projet<< application . Sur l'interface graphique, un label me donne l'adresse du Raspberry que j'utilise. J'ai ensuite placé un edit qui permet d'entrer l'IP ou l'URL où les données doivent être envoyées. Voici les lignes de code que j'ai repris (c'est presque exactement ce que je veux faire) :

    https://stackoverflow.com/questions/...synapse-delphi

    Initialement, la fonction HttpPostURL n'étais pas reconnu. Après des recherches j'ai trouvé la lbrairie HttpSend (qui contient la fonction qui m'intéresse) : https://github.com/MerlijnWajer/Simb...tpsend.pas#L82

    Après avoir rajouté cette librairie dans les uses de mon projet, quand j'essaie de compiler le compilateur ne reconnait pas l'unité blcksock dans HttpSend... je ne sais pas comment faire pour que blcksock soit reconnue.

    Même si l'erreur ne vient pas de là (enfin je pense ) voici le code que j'utilise :
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    unit main_TESTCOM;
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
      ipget, httpsend, Synacode;
     
    type
     
      { TForm_TESTCOM }
     
      TForm_TESTCOM = class(TForm)
        Edit1: TEdit;
        Edit2: TEdit;
        Label1: TLabel;
        Label2: TLabel;
        Send: TButton;
        STOP: TButton;
        Label_IP: TLabel;
        procedure FormCreate(Sender: TObject);
        procedure SendClick(Sender: TObject);
        procedure STOPClick(Sender: TObject);
      private
        { private declarations }
      public
        { public declarations }
      end;
     
    var
      Form_TESTCOM: TForm_TESTCOM;
      adr_IP:string;
     
    implementation
     
    {$R *.lfm}
     
    { TForm_TESTCOM }
     
    procedure TForm_TESTCOM.FormCreate(Sender: TObject);
    begin
      adr_IP:=GetIpList;
      Label_IP.Caption:='Adresse IP:'+adr_IP ;
    end;
     
    procedure TForm_TESTCOM.SendClick(Sender: TObject);
    var
    IP_recepteur, ToSend:string;
    Response:TMemoryStream;
    begin
    Response:=TMemoryStream.Create;
       try
       IP_recepteur:=Edit2.text;
       ToSend:=Edit1.Text; //chaine de caractère à envoyer
     
       if HttpPostURL(IP_recepteur, ToSend, Response) then
           begin
           Response.SaveToFile(/home/pi/Documents / 'response.text') ;
           end;
     
       finally
       Response.Free;
       end;
     
    end;
     
     
     
    procedure TForm_TESTCOM.STOPClick(Sender: TObject);
    begin
      Close;
    end;
     
    end.
    Merci pour votre aide

    Cordialement

  2. #2
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Bonjour qu'entend tu par :
    le compilateur ne reconnait pas l'unité blcksock dans HttpSend...
    Il ne le trouve pas ? elle existe bien cette unité ?

    Après avoir rajouté cette librairie dans les uses de mon projet,
    As tu modifié les options de compilation de ton projet, en y ajoutant le(s) chemin(s) vers la librairie httpSend ?
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  3. #3
    Rédacteur

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Billets dans le blog
    84
    Par défaut
    Bonjour,

    Citation Envoyé par Cortes_tf Voir le message
    Après avoir rajouté cette librairie dans les uses de mon projet, quand j'essaie de compiler le compilateur ne reconnait pas l'unité blcksock dans HttpSend... je ne sais pas comment faire pour que blcksock soit reconnue
    Le problème ne vient-il pas du fait que HTTPSend n'est PAS une bibliothèque, mais une simple unité issue d'une véritable bibliothèque qui est Synapse ?
    Dans la première clause uses de HTTPSend, on trouve :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     blcksock, synautil, synaip, synacode, synsock;
    Sans l'accès possible à toutes ces unités ainsi qu'à toutes celles qui en dépendraient, la compilation est impossible. Ici, cela pourrait expliquer que l'arrêt de la compilation s'effectue sur blcksock...

    De toute façon, le dépôt choisi est très ancien. Je te suggère d'aller le récupérer via SVN sur SourceForge ou de choisir une copie à jour comme celle qui suit :

    https://github.com/svn2github/Ararat-Synapse
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 240
    Par défaut
    hello,
    dans le lien de Gilles il y a aussi un fichier .lpk (laz_synapse.lpk) qui permet d'installer synapse en package ce qui normalement enlève les problèmes de dépendance de fichiers.

    Ami calmant, J.P

Discussions similaires

  1. Communication socket hors réseau local
    Par amath1 dans le forum API standards et tierces
    Réponses: 12
    Dernier message: 16/03/2013, 11h43
  2. probleme de communication sur réseau local
    Par ta-net dans le forum Administration
    Réponses: 5
    Dernier message: 28/12/2006, 14h41
  3. Configurer un réseau local avec 3 pc Win xp
    Par stkam dans le forum Développement
    Réponses: 3
    Dernier message: 26/02/2004, 19h13
  4. Redimensionnement des Paquets IP sur un Réseau Local
    Par Bonoboo dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 15h40

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