2009-02-20 5 views
3

J'essaie d'écrire un client de chat simple en javascript, mais j'ai besoin d'un moyen de mettre à jour les messages en temps réel. Alors que je pourrais utiliser la fonction xmlhttprequest, je crois qu'il utilise un port TCP/IP sur le serveur et peut-être plus important encore, n'est pas autorisé sur mon paquet d'hébergement actuel. En tout cas, cela ne semble pas une solution idéale, car il semble un peu difficile d'avoir une connexion ouverte en permanence, et il serait beaucoup plus facile si je pouvais simplement écouter sur le port et prendre les données comme elles viennent. J'ai regardé sur Internet et trouvé beaucoup de références à la comète et au sondage continu, qui sont insatisfaisants et beaucoup de gens disent que javascript n'est pas vraiment adapté à ce que je peux être d'accord avec. Maintenant, j'ai appris un peu plus sur la façon dont fonctionne Internet, cependant, il semble possible. Je n'ai pas besoin de s'inquiéter de l'envoi de messages jusqu'à présent; Je peux m'occuper de cela, mais est-ce qu'il y a un moyen d'écouter sur un certain port sur javascript?port écoute en javascript

+0

Voulez-vous parler dans le navigateur javascript? Ou autre chose? – AnthonyWJones

Répondre

-4

Avez-vous envisagé de créer votre application dans Flex? Vous pouvez utiliser la classe de Flex XMLSocket pour mettre en œuvre un client de messagerie instantanée à faible latence - à peu près le genre de chose, il a été conçu pour faire

+1

Supprimer cette réponse – Pacerier

1

Vous aurez besoin d'une bibliothèque tierce que vous pouvez charger dans le contexte Javascript. Javascript n'a aucun moyen de le faire et il est peu probable que vous pourriez (et certainement vous ne devriez pas) le faire dans un navigateur.

+0

Y at-il un moyen de faire des appels à un script Python à partir de Javascript dans le navigateur? – CodyBugstein

9

L'écoute sur un port n'est pas possible en Javascript.

Mais:

XMLHttpRequest est possible sur votre hôte, car il est une simple requête HTTP pour un site spécial comme chat.php?userid=12&action=poll&lasttime=31251 où les impressions du serveur tous les nouveaux messages depuis lastTime comme résultat.

1

Jetez un oeil à Comet

+1

Comet a déjà été mentionné dans la question. – andynormancx

+0

la question dit que les références ont été vues. N'a pas dit que les références ont effectivement été regardées .. Comet est une suggestion de solution parfaitement bonne –

Questions connexes