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

Programmation et administration système Perl Discussion :

HTTP::Daemon et threads


Sujet :

Programmation et administration système Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Par défaut HTTP::Daemon et threads
    Hello,

    J'essaye d'utiliser les modules HTTP::daemon et threads. Le thread principal attend les connexions. Une fois un client connecté, il transmet la connexion à un autre thread. Mais cela ne fonctionne pas, tout reste bloqué.

    Pour moi, ça sent le deadlock. Y a t'il une solution? Si non, quel module puis-je utilisé en remplacement?

    Merci.

  2. #2
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Bonjour.

    Cela va être difficile de t'aider si tu ne peux pas en dire plus (montrer un bout de code qui coince, par exemple).

    Pour moi HTTP:eamon (et IO::Socket) ont toujours fait ce que je demandais (mais je n'ai jamais essayé avec threads )

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Par défaut
    Voila un exemple qui ne marche pas.
    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
     
    use HTTP::Daemon;
    use HTTP::Status;
    use threads;
     
    my $webServer;
     
    my $d = HTTP::Daemon->new(LocalPort => 3128);
     
    print "Web Server started!\n";
     
     
    while (my $c = $d->accept) 
    {
        print("connexion\n");
        threads->create(\&process_one_req, $c)->detach();
    }
     
    sub process_one_req 
    {
        my $c = shift;
        print("Thread demarré\n");
        my $r = $c->get_request;
        if ($r) 
        {
          print("coucou".$r."\n");
        }
        $c->close;
        undef($c);
    }
    le code reste bloqué sur le "my $r = $c->get_request;"

Discussions similaires

  1. Http Post et Thread
    Par Chayanne47 dans le forum Langage
    Réponses: 3
    Dernier message: 27/06/2014, 17h36
  2. Http Request et Thread
    Par Royd938 dans le forum Apache
    Réponses: 1
    Dernier message: 01/01/2014, 18h39
  3. Daemon Thread ?
    Par boris.delagree dans le forum Concurrence et multi-thread
    Réponses: 2
    Dernier message: 19/04/2006, 08h15
  4. [THREAD][DAEMON]Pas bien compris....
    Par XristofGreek dans le forum Concurrence et multi-thread
    Réponses: 2
    Dernier message: 24/09/2004, 13h28

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