Socket en javascript sur ie [Résolu]

tedoldi 5 Messages postés dimanche 11 novembre 2007Date d'inscription 25 mars 2009 Dernière intervention - 16 nov. 2007 à 04:20 - Dernière réponse : neobidou 3 Messages postés mercredi 4 août 2004Date d'inscription 7 juillet 2010 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 16 nov. 2007 à 09:15
3
Merci
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]

Merci cs_bultez 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 124 internautes ce mois-ci

Commenter la réponse de cs_bultez
tedoldi 5 Messages postés dimanche 11 novembre 2007Date d'inscription 25 mars 2009 Dernière intervention - 25 janv. 2008 à 19:19
0
Merci
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 ?
Commenter la réponse de tedoldi
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 26 janv. 2008 à 09:42
0
Merci
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»
Commenter la réponse de cs_bultez
tedoldi 5 Messages postés dimanche 11 novembre 2007Date d'inscription 25 mars 2009 Dernière intervention - 6 févr. 2008 à 15:53
0
Merci
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.
Commenter la réponse de tedoldi
J13086 1 Messages postés mardi 12 août 2003Date d'inscription 20 mai 2009 Dernière intervention - 20 mai 2009 à 14:51
0
Merci
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...
Commenter la réponse de J13086
neobidou 3 Messages postés mercredi 4 août 2004Date d'inscription 7 juillet 2010 Dernière intervention - 7 juil. 2010 à 18:00
0
Merci
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 :)
Commenter la réponse de neobidou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.