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

  1. #1
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 58
    Points : 43
    Points
    43
    Billets dans le blog
    1
    Par défaut Peut-on envoyer une requête http depuis un navigateur web et la récupérer sur une application bureau delphi
    Bonjour !

    Actuellement je rencontre un problème auquel je n'arrive pas à trouver de solution concrète. En réalité j'ai plusieurs ordinateurs en réseau dont un joue le rôle de serveur et sur lequel se trouve une application exécutable qui doit récupérer les requêtes envoyées par les clients et leur donner une réponse (comme serveur en miniature).

    Ma question est la suivante : est-il possible d'envoyer des requêtes http depuis les ordinateurs clients et pouvoir les lire depuis mon application exécutable se trouvant sur le poste serveur ?

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par aso14 Voir le message
    Bonjour !

    Actuellement , je rencontre un problème auxquels ..je n'arrive pas a trouver de solution concrète. En réalité j'ai plusieurs ordinateurs en réseau dont , un joue le rôle de serveur et sur le quel se trouve une application executable qui doit récupérer les requêtes envoyer par les clients et leurs donné une réponse (un comme serveur en miniature).

    Ma question est la suivante : Est-il possible d'envoyer des requêtes http depuis les ordinateus clients et pouvoir les lire depuis mon application exécutable se trouvant sur le poste serveur ?
    oui

    mais vu que la question n'est pas claire, je ne m'étendrais pas sur la réponse
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 58
    Points : 43
    Points
    43
    Billets dans le blog
    1
    Par défaut
    Merci ! Pour votre réponse !
    Pourriez-vous s'il vous plaît m'expliquer comment procéder ? Car je bloque vraiment ....

    Je me demandais si je devrais nécessairement créer un mini serveur pour cela..

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par aso14 Voir le message
    Merci ! Pour votre réponse !
    Pourriez-vous s'il vous plaît m'expliquer comment procéder ? Car je bloque vraiment ....

    Je me demandais si je devrais nécessairement créer un mini serveur pour cela..
    Est-il possible d'envoyer des requêtes http depuis les ordinateus clients et pouvoir les lire depuis mon application exécutable se trouvant sur le poste serveur ?

    oui, si les requêtes sont adressées directement au serveur

    oui, si le serveur est configuré comme proxy HTTP

    oui, si le serveur est configuré comme serveur de log au niveau d'un firewall d'entreprise par exemple

    et enfin, oui si le serveur est utilisé comme sniffer de trafic réseau

    ça doit même être plus facile s'il est déclaré comme passerelle par défaut du réseau

    mais encore une fois, la question n'est pas claire.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 58
    Points : 43
    Points
    43
    Billets dans le blog
    1
    Par défaut
    Je vais essayer de reformuler : Comment créer un serveur http , capable de recevoir les données envoyées ( données envoyés par requête http ) par des postes clients se trouvant sur le même réseau que lui.

    Dois-je utiliser TCP/ IP Serveur ou idhttp ?
    Comment dois-je donc configurer ce serveur?

    J'espère que cela pourra vous permettre de mieux m'aider

    NB : Mon serveur est de type exécutable et j'utilise RAD Studio Berlin .

    Merci d'avance !

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Si tu veux créer un Serveur HTTP
    tu peux implémenter la méthode OnCommandGet d'un TIdHTTPServer (Indy9) ou TIdHTTPServer (Indy10)
    (attention TIdHTTP c'est un client)

    Tu peux aussi utiliser IntraWeb pour créer, une DLL ISAPI pour IIS, une extension pour Apache ou alors un mini-serveur web autonome

    Tu peux aussi créer un Server Web DataSnap REST, qui fournira des données JSON que tu pourras mettre en forme via une bonne couche JS
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 58
    Points : 43
    Points
    43
    Billets dans le blog
    1
    Par défaut
    Merci pour tes infos !

    Je n'ai jusque là jamais implementer un serveur ; Tu me conseil quel composant : TIdHTTPServer (Indy10) et Server Web DataSnap REST.

    Auriez-vous un tutos sur ce dernier.
    Merci !

  8. #8
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Comme tu es étudiant, je te dirais d'essayer les deux

    Suivre le tutoriel Server Web DataSnap REST ne devrait pas prendre trop de temps
    Et apprendre une autre façon avec TIdHTTPServer ne pourra être que positive surtout que tu as aussi tout ce qu'il faut en ligne Trying to understand IdHTTP Server


    pour ma part, je n'ai implémenté que TIdFTPServer là où je suis.
    J'ai participé vaguement à la création d'un serveur DataSnap pour remplacer du DCOM.


    En tant que professionnel, j'irais voir mon collègue qui fait du PHP pour me faire mon WS et qui aura en plus tout la structure architecturelle et les serveurs web qui vont bien.
    Ou alors mon autre collègue qui j'ai du Java et me fera une classe déployé sur un TomCat
    Profite d'être étudiant pour voir tout le spectre, quand tu seras un pro, tu iras à moins couteux\rapide (et pas forcément le plus fun)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  9. #9
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 58
    Points : 43
    Points
    43
    Billets dans le blog
    1
    Par défaut
    En tout cas merci !

  10. #10
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 58
    Points : 43
    Points
    43
    Billets dans le blog
    1
    Par défaut Comment créer une session ?
    Bonjour ! J'ai débuté avec la création de mon serveur http qui fonctionne déjà pas mal. Mais le problème est que je ne sais pas comment gérer les requêtes de plusieurs clients . J'aurai entendu parler des sessions et je me demande comment elle fonctionne. La documentation ne dit grand chose sur elle.

    Quelqu'un a t-il eu une expérience dans l'implementation d'un serveur; de l'implementation d'une session ; et de la transmission de données aux clients ?


    PS : J'utilise Indy10 que je trouve vraiment bizzare . Mon IDE RAD STUDIO Berlin


    Merci pour vos réponses !

  11. #11
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Pas d'expérience mais t'inspirer duTMySession = class(TIdHTTPSession) de l'exemple sur la discussion Embarcadero n'est elle pas une piste ?

    Au minimum jouer avec TIdHTTPSession.SessionID qui doit juste contenir un numéro unique pour la session utilisateur
    Tu dois juste donc ta serveur géré cette clé pour stocker les données lié à ton utilsateur, tout dépend ce que tu as besoin, cela peut être un simple Dictionnary<SessionID, TSessionData) ou utiliser une base de données, la SessionID servant de clé de recherche (ne pas oublier de nettoyer les données à la fermeture de la session ou après un délai de validité)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  12. #12
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 58
    Points : 43
    Points
    43
    Billets dans le blog
    1
    Par défaut
    Merci pour la piste ! Je vais essayer

  13. #13
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 58
    Points : 43
    Points
    43
    Billets dans le blog
    1
    Par défaut Une partie cliente un peu bizzare !
    Bonjour ! J'ai pu implementé mon Serveur comme prévu...J'implemente actuellement la partie Client. Mais voici que je suis confronté a un petit soucis
    En réalité j'aimerais vérifier si mon serveur est en ligne ...C'est à dire connecté au réseau. Donc pour ce faire j'ai eu l'idée de lui envoyé des requêtes toutes les 1s par la méthode GET du client idHTTP. L'envoie de la requête se fait dans l'évènement OnTimer d'un TTimer qui lui est réglé à 1000 . (J'avais pas envie d'implementer des Threads ). J'ai également prévu une exception au cas ou le serveur ne sera pas connecté.

    Une fois le code compilé et executable lancé Tout marchais Ok.

    Je lance WampServeur Et l'application me signal que le serveur est connecté.

    J'arrête WampServeur et l'application m'informe que le Serveur est déconnecté.

    Je relance WampServeur et là rien à faire.....l'application me dit que le serveur est toujours déconnecter ....

    Quelqu'un peut-il m'aider c'est un peu ... un peu urgernt . Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    procedure Tcmp.EnvoyezTimer(Sender: TObject);
    begin
     try
       with Client do
       begin
         Datat := Get('http://127.0.0.1/temp1');
         Label6.Text:='Votre application est actuellement en mode échange de données';
         end;
       except
       Label6.Text:='La connexion avec le système a été perdue. Tentative de connexion . . .';
       end;
    end;

Discussions similaires

  1. Réponses: 7
    Dernier message: 12/06/2018, 10h37
  2. [WD18] Comment ignorer les erreurs de certificats sur une requête HTTP
    Par zouzoukha dans le forum WinDev
    Réponses: 3
    Dernier message: 14/05/2015, 14h19
  3. [MySQL-5.6] Envoyer une requête HTTP depuis MySQL
    Par noemieze dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 13/07/2014, 11h39
  4. Problème sur une requête Http méthode POST
    Par anto2b dans le forum Android
    Réponses: 0
    Dernier message: 13/02/2013, 11h53
  5. Envoyer une requête http et recevoir la réponse XML
    Par jlscvdb dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 26/02/2007, 17h38

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