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

AJAX Discussion :

[AJAX] Utilisation de APE (Ajax Push Engine) depuis une application externe


Sujet :

AJAX

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [AJAX] Utilisation de APE (Ajax Push Engine) depuis une application externe
    Bonjour

    je cherche actuellement à diffuser des données vers le serveur APE
    à partir d'une application externe ; ces données sont ensuite
    diffusées par APE à tous les clients se connectant sur le même canal

    d'après la documentation fournie par le projet APE, Inlinepush
    permet d'envoyer des données depuis une application vers le serveur APE
    l'exemple donné est la démo controller

    comme notre application doit envoyer ces données à une fréquence élevée
    (allant jusqu'au moins 10 par seconde) j'ai fait un petit script de test qui
    envoie à APE un message tous les dixièmes de seconde

    je remarque qu'au fur et à mesure des envois, l'occupation mémoire
    du processus aped augmente progressivement jusqu'à atteindre une saturation
    mémoire qui bloque ma machine...

    il est dit dans la documentation que "libape-controller est le moyen le plus
    facile d'envoyer des données en push depuis une application externe vers
    APE"....

    vu que je me heurte à un sérieux problème de performance, je cherche
    une solution alternative

    quelqu'un peut-il m'aider ?

    merci beaucoup

    Jean-Marie
    ---------------------
    pour info je donne ci-dessous l'exemple test en php envoyant des requêtes
    au serveur APE :
    Code php : 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
    $APEserver = 'http://ape.ape-test.local:6969/?';
    $APEPassword = 'testpasswd';
     
    $messages='';
     
    $cmd = array(array(
    'cmd' => 'inlinepush',
    'params' => array(
    'password' => $APEPassword,
    'raw' => 'postmsg',
    'channel' => 'testchannel',
    'data' => array( //Note: data can't be a string
    'message' => $messages
    )
    )
    ));
     
     
    for( $i = 1; $i < 1000000; $i++ ) {
    $framesent=$cmd[0]['params']['data']['message']="Frame "."$i";
    $data = file_get_contents($APEserver.rawurlencode(json_encode($cmd)));
    usleep(100000);
     
    }

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Y'a un truc que j'ai pas compris là, ton script de test et ton serveur APE sont sur la même machine ?
    Sinon, je suis à peu près sûr que APE n'est pas fait pour être utilisé à haute fréquence. Donc à mon avis c'est plus un problème de conception que de performance...

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    APE et l'application externe sont effectivement sur la même machine,
    mais ce n'est pas obligé puisque la solution que j'ai trouvé est
    d'ouvrir un socket serveur au niveau d'APE ; l'application se connecte alors
    sur ce socket, puis envoie les informations à APE qui les diffuse à tous les
    clients connectés sur le même canal.
    je ne suis pas sûr non plus que APE soit l'idéal ; je suis dans une phase
    de veille technologique
    certains de nos clients ayant des navigateurs (IE en l'occurence)
    dont la version est ancienne il se peut qu'une solution Ajax basique
    soit préférable ; à creuser...

Discussions similaires

  1. Utilisation de la commande Windows FINDSTR depuis une application fenêtrée
    Par Roland Chastain dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 14/02/2017, 11h51
  2. Connexion à SAP depuis une application externe
    Par landryx dans le forum SAP
    Réponses: 0
    Dernier message: 25/05/2010, 12h22
  3. Utilisation de JasperReport depuis une application PHP
    Par Florent Coulon dans le forum Jasper
    Réponses: 1
    Dernier message: 30/08/2007, 19h55
  4. [AJAX] utilisation compliqué d'ajax
    Par toddy_101 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/02/2007, 10h01
  5. Réponses: 6
    Dernier message: 07/09/2005, 20h31

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