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

JavaScript Discussion :

[AJAX] Evenements du serveur vers le client (possible ?)


Sujet :

JavaScript

  1. #1
    Membre régulier
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 114
    Points : 101
    Points
    101
    Par défaut [AJAX] Evenements du serveur vers le client (possible ?)
    Bonjour,

    Je voudrais savoir comment (si c'est possible) avec AJAX un évènement peut remonter du serveur vers le client. Mon but étant de signaler au client l'aarivée d'un appel sur son téléphone.
    Ce traitement doit il être asynchrone, cad le client requête régulièrement le serveur pour savoir se qu'il se passe ?
    Ou y a-t-il une solution pour faire remonter l'info du serveur vers le client ?

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par cocoyot Voir le message
    Ce traitement doit il être asynchrone, cad le client requête régulièrement le serveur pour savoir se qu'il se passe ?
    Ou y a-t-il une solution pour faire remonter l'info du serveur vers le client ?
    Il y a actuellement deux solutions :
    - Le polling : le client requete le serveur à intervalle régulier, le serveur renvoyant eventuellement les données.
    - Comet : Le client ouvre une connection HTTP vers le serveur. Cette connection est maintenue ouverte pendant longtemps (quelques minutes). Le client vérifie régulièrement le contenu de la connection et le serveur écrit quand c'est nécessaire.

    La deuxième option est plus attirante, mais consomme énormément de ressource coté serveur que cette utilisation de HTTP n'est pas du tout prévue par les serveurs (Apache peut gerer une 30aines de connections en simultanée, ce qui est d'habitude largement suffisant, mais si toutes les connections restent ouvertes, il ne pourra servir que 30 utilisateurs).

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    APache ne peut gérer que 30 connections en simultané ? pour ce type de communication client/serveur alors !???

  4. #4
    Membre régulier
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 114
    Points : 101
    Points
    101
    Par défaut
    denisC veut certainement parler de maxClients dans la configuration d'Apache qui a peut être la valeur 30 par défaut (je n'ai pas vérifié).

    merci pour la réponse

  5. #5
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par cocoyot Voir le message
    denisC veut certainement parler de maxClients dans la configuration d'Apache qui a peut être la valeur 30 par défaut (je n'ai pas vérifié).
    Oui, c'est bien maxClient. La valeur par défaut est 256.

    Mais il faut savoir que pour le moment, avec un serveur de type Apache, comet est encore très gourmand en ressources.

    Voir la discussion :
    http://jha.rajeev.googlepages.com/web2push

    Par contre, il commence à apparaitre des connecteurs spécialisés dans Comet qui sont bien plus adaptés et moins gourmands en ressources :
    Par exemple pour Tomcat : http://tomcat.apache.org/tomcat-6.0-doc/aio.html

  6. #6
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    Citation Envoyé par denisC Voir le message
    - Comet : Le client ouvre une connection HTTP vers le serveur. Cette connection est maintenue ouverte pendant longtemps (quelques minutes). Le client vérifie régulièrement le contenu de la connection et le serveur écrit quand c'est nécessaire.
    Non, le contenu est poussé du serveur, le client le lit simplement. Y'a pas de polling explicite en comet.

  7. #7
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Shinuza Voir le message
    Non, le contenu est poussé du serveur, le client le lit simplement. Y'a pas de polling explicite en comet.
    Oui mais le client vérifie ce qu'il y a dans la connection.... si le client écoute pas la connection, ça marche pas

  8. #8
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    Je mettais l'accent sur "régulièrement", ce qui sous entend l'execution periodique d'une méthode, alors qu'en l'occurence la mise à jour est non pas périodique mais purement évenementielle.

    Il n'y a pas de contrainte temporelle dans ce modele.

  9. #9
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Shinuza Voir le message
    Il n'y a pas de contrainte temporelle dans ce modele.
    Ben oui, mais il faut quand même que périodiquement, le client vérifie la connection
    Le serveur fait de l'évenementiel (qui est souvent codé sous forme de périodiquement), mais le client vérifie pas en continu (bonjour le 100% proc), mais périodiquement le contenu de la connection poussée par le serveur...

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    En clair Ajax ne propose pas de solution fiable pour cette problèmatique c'est bien ça ?
    Ca me fait penser à un projet de mes années estudiantines qui fesait communiquer un serveur et plusieurs client (c t des envois de sms) et JAVA était très pratique pour faire ce genre de chose : "écouter une socket", on le fesait aussi en C mais c'est plus laborieux, il fallait intégrer d'autres librairie à GCC ... pfff.

    Le fait d'écouter une socket, ça bouffe juste un chouilla de mémoire vive mais pour le Proc c'est kuetchi. En clair, si tu affecte un port par utilisateur, tu écoute ce port et dès que tu as un événement tu va dans ta mini BDD et tu envois le mail, texto ou autre contenu à la personne non ?

    Dites-moi si je dis que des conneries, c'est possible il est tard

  11. #11
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    C'est de l'ajax.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pousser des donnees depuis le serveur vers plusieurs clients avec WCF
    Par NoussaL dans le forum Windows Communication Foundation
    Réponses: 6
    Dernier message: 30/09/2008, 17h11
  2. [RBS]Transferer les roles du serveur vers le client
    Par anthyme dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 12/06/2008, 12h11
  3. copier fichier du serveur vers le client fso
    Par nigiri dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/02/2006, 13h26
  4. [Indy] Transfert de fichiers du serveur vers le client
    Par Nicodemus dans le forum Web & réseau
    Réponses: 4
    Dernier message: 28/10/2005, 17h00

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