Question

Est-ce le chat en utilisant "vote long" ou "http en streaming"?

http://go-mono.com/moonlight/chat.aspx

Était-ce utile?

La solution

Il est pas quelque chose aussi simple que cela. Il utilise http://www.mibbit.com/chat , qui est un client complet IRC écrit en Javascript et Java. Blog http://blog.mibbit.com/ .

Modifier Voici votre réponse .

  

La première partie, je me suis de travail était les communications entre le navigateur et le serveur. Cela se fait à l'aide de 2 XMLHttpRequests. Le premier est simplement d'envoyer des données à partir du navigateur vers le serveur. Il utilise keep-alive, afin de minimiser les nouvelles connexions.

     

La deuxième XHR est le « paresseux recevoir polling » un. Il se connecte au serveur, et le serveur tient ouvert jusqu'à ce qu'il y a des messages disponibles, ou un délai d'expiration. Celui-ci est keep-alive aussi, de sorte que la requête suivante va dans la même connexion.

     

Ce que vous retrouvez avec 2 connexions maintenues ouvertes au serveur, avec des paquets JSON (dans ce cas), et des en-têtes HTTP de temps en temps.   Pour vous assurer que le serveur escaladeraient, je l'ai écrit un serveur Web personnalisé en Java en utilisant nio. Il gère toutes les connexions dans un seul fil et comme je le dis, échelles à des dizaines de milliers de connexions.

     

Si le client demande une nouvelle connexion, il envoie une requête au serveur web, qui relie ensuite, et commence mandatement, etc. Il gère également un serveur ident dans le cas de connexions irc de sorte qu'un serveur irc peut identifier les navigateurs individuels . Je regardais les cadres existants, etc pour faire ce genre de chose, mais je tenais à apprendre comment tout cela fonctionne, et je pensais que mon cas d'utilisation peut être suffisamment précis pour être en mesure d'optimiser plus de cadres généraux peuvent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top