Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/12/2010, 16h36   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 4
Points : 0
Points : 0
Par défaut 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 :
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);
 
}
jmtrg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2010, 14h57   #2
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
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...
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 10h41   #3
Invité de passage
 
Inscription : octobre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 18
Points : 1
Points : 1
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...
Jean-Marie64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h51.


 
 
 
 
Partenaires

Hébergement Web