Socket en javascript sur ie

Résolu
tedoldi Messages postés 5 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 25 mars 2009 - 16 nov. 2007 à 04:20
neobidou Messages postés 3 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 7 juillet 2010 - 7 juil. 2010 à 18:00
Salut,

J'aurais voulu savoir si quelqu'un aurait déjà réussi à créer une socket sur internet explorer.
Je voudrais juste que le serveur puissent indiquer à certains clients de commencer à faire une action (un téléchargement, ou un ré affichage) de façon asynchrone.

J'ai vu la technologie AJAX mais j'ai compris que c'est le client qui répète sa demande sur le serveur suivant un délai. J'ai peur que cette méthode ne soit trop couteuse en ressource aussi bien pour le client que pour le serveur.
C'est pour cela, si le serveur pouvait ouvrir une socket sur le client par le javascript, je pourrais éviter ces demandes répétées.

J'ai vu des sites qui montrent que c'est possible sur mozilla avec la technologie XUL.
Mais ils ne disent rien sur IE.
Quelqu'un aurait une idée pour IE ?
 
Merci.

6 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 nov. 2007 à 09:15
Bonjour,

>>quelqu'un aurait déjà réussi à créer une socket sur internet explorer.
    oui.    ch'tit exemple : Gestion Mails

>>la technologie AJAX mais j'ai compris que c'est le client qui répète sa demande
   oui.   mais avec les sockets ce sera pareil non ?
        ou alors je n'ai pas compris ce que tu voulais faire.


   
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
3
tedoldi Messages postés 5 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 25 mars 2009
25 janv. 2008 à 19:19
Merci pour cette réponse.

Mais en ce qui concerne le deuxième point :
je pensais qu'une socket ne répétait pas sa demande sur le serveur mais qu'elle restait bloqué en attendant une réponse du serveur. Et ce serait seulement sur sa réponse que le client continue son travail.

Je me pose la question par exemple pour un Chat en Ajax. Imaginons qu'il y ait plus de mille connectés en même temps, et que le rafraîchissement se fasse toutes les secondes : comment réagira le serveur sur les mille demandes de rafraîchissement par seconde ?

Avec le type de socket que j'ai décrit, je souhaiterais soulager le serveur de ces demandes répétées.
Est ce que ça existe en javascript ?
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 janv. 2008 à 09:42
tel que tu décris les sockets, tu vois une différence avec la gestion AJAX ?
Ajax envoie une requête vers le serveur,  on peut attendre la réponse pour
    en envoyer une autre.
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
tedoldi Messages postés 5 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 25 mars 2009
6 févr. 2008 à 15:53
La différence est pour moi que AJAX se connecte sur le serveur de façon répétitive suivant une certaine période pour se ré actualiser.

Pour les sockets, tel que je le vois mais je ne suis pas sûr finalement que ça existe : les clients ne se connectent pas de façon répétitive, ils se connectent au serveur une fois au début pour s'enregistrer. Ensuite, si le serveur détecte une modification qui implique un rafraîchissement à faire pour certains clients : ce serait le serveur qui va récupérer tous les clients préalablement enregistrés concernés par le rafraîchissement et envoyer une requête à chacun d'eux pour donner le signalement qu'il faut rafraîchir.

Si nous prenons l'exemple du Chat : plusieurs clients se connectent sur le site. En se connectant, ils s'enregistrent au niveau du serveur. Ensuite, chaque client resterait en écoute d'un signal du serveur et ne répéterait pas sa demande de rafraîchissement.
Si un des clients écrit un message, le serveur récupère les clients enregistrés concernés par la discussion et leur envoie une requête à chacun d'eux pour leur signaler que c'est le moment de faire un rafraîchissement.

dans le cas de AJAX, le serveur ne fait rien du tout mis à part à renvoyer l'état de la page pour chaque demande de rafraîchissment. Le souci est que pour moi, il y aura beaucoup de requêtes client-serveur qui ne serviront à rien et si beaucoup de monde est connecté, il y aura beaucoup de demande de rafraîchissement en même temps. Je ne sais pas si le serveur serait capable de gérer cela au bout d'un moment.

Je ne sais pas si mon exemple est clair. Mais l'idée est  : comment mettre un client seulement en écoute d'une requête venant du serveur pour qu'il ne répète pas sa demande ?

Merci beaucoup.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
J13086 Messages postés 1 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 20 mai 2009
20 mai 2009 à 14:51
Bonjour,

C'est parfaitement clair et j'ai le même besoin. As-tu trouvé la solution ?
De mon coté je cherche toujours. Je pense savoir comment il faudrait le faire, mais je ne maitrise pas les technos qu'il me faut.

En gros, il faut avoir un serveur de socket coté client. 3 pistes : ActivX, Applet Java, ou Flash. Le top serait un composant générique qui déclanche du javascript coté client avec envoi de paramètre.
Le serveur PHP pourait alors envoyer à un client l'ordre de lancer une fonction javascript avec les paramètres qu'il veut...

Si qq peut nous aider...
0
neobidou Messages postés 3 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 7 juillet 2010
7 juil. 2010 à 18:00
Etant moi même confronté au problème et ayant cherché plusieurs heures, apparemment on ne peut utiliser les sockets en javascript avec internet explorer. Néanmoins il existe jsocket ou d'autres framework qui utilisent une classe action script. J'ai aussi le problème avec Opera mais je n'ai pas encore cherché de ce côté. Sinon j'utilise des sockets avec chromium, google chrome, firefox et safari. Espérons que WebSocket soit implémenté massivement mais c'est sûrement utopiste :)
0
Rejoignez-nous