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

Web & réseau Delphi Discussion :

Application Console WebBroker, StdOut et section critique


Sujet :

Web & réseau Delphi

  1. #1
    Membre du Club Avatar de CoyotteDundee
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2008
    Messages : 54
    Points : 47
    Points
    47
    Par défaut Application Console WebBroker, StdOut et section critique
    Bonjour à toutes et tous,

    Je dois écrire un serveur WEB chargé de récupérer des données postées par une application distante.
    Totalement débutant dans le domaine, j'ai besoin de vos conseils éclairés.

    Puisse qu'il s'agit d'une application console, je veux pouvoir envoyer des messages d'info ou d'erreur sur respectivement StdOut et StdErr.
    Pour ce faire, je dispose de ma petite librairie qui gère tout cela très bien avec des streams... en mode mono-thread.

    Si j'ai bien compris le fonctionnement de WebBroker, ce dernier peut créer plusieurs instances de de mon WebModule si plusieurs requêtes se présentent +- simultanément.
    (Si je suis déjà dans l'erreur, merci de me le faire savoir :-) )
    Partant de ce postulat, je me dis qu'il n'est pas bon d'écrire sauvagement sur les sorties et qu'il serait probablement plus malin d'utiliser une synchronisation quelconque afin d'éviter les télescopages.
    Je me suis donc penché sur TCriticalSection.

    Comme je comprends la chose, il faut en créer une instance (et une seule) et tout code désirant écrire dans mon stdout devrait préalablement l'acquérir. Une fois le message écrire, elle devrait être "rendue".

    Si ce fonctionnement est correct, j'en arrive à mon problème : Comment partager cette instance ?
    Est-ce que la crée en tant que variable de classe du WebModule ? Est-ce que je crée une classe de type Singleton pour gérer cela ? Est-ce que j'ai tout faux ?
    Comment gérez-vous ce type de problématique ?

    Au plaisir de vous lire et d'en apprendre plus sur le sujet,

    Coyotte

  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
    il faut que le serveur reçoive déjà un grand nombre de requêtes simultanées pour avoir une "chance" que les écritures de deux thread soient simultanées...à moins que ce ne soit des écritures très longues.

    sinon, il faut synchroniser les écritures. Il est possible de le faire sous Windows en envoyant le texte via un PostThreadMessage à un Thread dédié à l"écriture.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre du Club Avatar de CoyotteDundee
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2008
    Messages : 54
    Points : 47
    Points
    47
    Par défaut
    Bonjour,

    Merci pour la réponse.
    En fait, le contenu de chaque requête doit être écrite dans un fichier de type texte dans un répertoire du serveur qui fait tourner l'application.(+- 3500 caractères par fichier)

    Donc je ne dois pas trop me préoccuper de la chose dans un premier temps. C'est une bonne nouvelle !
    Merci,

    Coyotte

Discussions similaires

  1. Capturer et suivre le stdout d'une application console
    Par plut0nium dans le forum Delphi
    Réponses: 5
    Dernier message: 01/02/2007, 14h13
  2. [Kylix] une application console
    Par naili dans le forum EDI
    Réponses: 3
    Dernier message: 19/04/2004, 14h27
  3. [Delphi] Application "console" et caractères ASCII
    Par Yorys dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 31/07/2003, 09h50
  4. [Kylix] Kylix 3 et Applications console
    Par deniscm dans le forum EDI
    Réponses: 2
    Dernier message: 14/01/2003, 13h37
  5. [Kylix] application console avec kylix 3 ?
    Par Hakim dans le forum EDI
    Réponses: 4
    Dernier message: 15/11/2002, 22h45

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