2011-08-19 1 views
0

Je développe un service permettant de diffuser plusieurs fichiers audio en même temps.Limitation de la connexion HTTP du navigateur et YouTube

Malheureusement, lors de la diffusion simultanée de 4 flux, la limite de connexion HTTP de Chrome semble se déclencher: le nouveau flux demande seulement un accès au serveur lorsqu'une connexion précédente a été fermée.

Fait intéressant, je peux lire plus de 10 vidéos en même temps sur YouTube.

Quel type de technique YouTube aurait-il pu utiliser pour contourner la limite de connexion HTTP simultanée du navigateur?

Répondre

1

Le point crucial ici, je suppose, est que les flux YouTube ne sont pas directement contrôlés par le navigateur, ils sont des lecteurs Flash intégrés qui utilisent des flux qui sont gérés par Flash. Si vous souhaitez transférer le processus de diffusion vers une application/bibliothèque externe (Flash, Java, etc.), vous pouvez contourner ces limitations assez facilement. L'autre point est que YouTube a un CDN énorme, donc il n'y a aucune garantie que vous obtenez deux vidéos du même serveur, ce qui aiderait aussi à contourner les limitations de concurrence (au moins pour un point). Je ne suis pas surpris que Chrome vous arrête après un certain temps parce que Google a fait un tas de recherches et d'expériences concernant la simultanéité et l'efficacité relative du navigateur, et je me souviens avoir lu quelque part qu'ils ont conclu que 3-4 connexions simultanées à le même serveur représentait l'architecture de transfert de données la plus efficace sur HTTP direct. Malheureusement, je ne peux pas trouver une source fiable pour faire référence à cela (bien que je l'ai obtenu d'un en premier lieu), cependant this est liée et fait probablement partie du même programme de recherche.

C'est aussi le genre de recherche Facebook se fait fortement impliqué, et vous pouvez trouver des informations utiles sur au http://developers.facebook.com/ si vous pouvez être pris la peine fouillant dans les ordures pour trouver ...

+0

Étonnamment, les deux mes bibliothèques de téléchargement et de diffusion audio utilisent Flash. J'ai peut-être rencontré un autre problème causant des problèmes avec les connexions HTTP simultanées. De toute façon, d'autres demandes n'arrivent pas du côté serveur. Puisque le problème est probablement ailleurs, j'accepterai votre réponse. Malheureusement, je ne sais pas où regarder maintenant. – Tom

+0

Maintenant que j'ai débogué plus, il __has__ est une limite de connexion simultanée, car il est mis en file d'attente car il arrivera au serveur après un certain temps. Je suis également sûr qu'il utilise le flash. Etes-vous sûr que ce problème ne s'applique pas avec flash? Cela semble être apparent ici. – Tom

+0

Pour être honnête, ce n'est pas un problème que j'ai déjà rencontré auparavant, car les applications de streaming de médias que j'ai traitées font un maximum de 1 demande de jeu et 2 demandes de mise en cache à la fois. vous ne jouez qu'un seul flux à la fois. Que devez-vous faire exactement? Pourriez-vous combiner les flux du côté serveur pour réduire le nombre de demandes? – DaveRandom

Questions connexes