J'ai un jeu par navigateur et j'ai récemment commencé à ajouter de l'audio au jeu.
Chrome ne charge pas la page entière et reste bloqué "91 requests | 8.1 MB transferred"
et ne charge plus de contenu; et il brise même le site Web dans tous les autres onglets, en disant Waiting for available socket
.
Après 5 minutes (exactement), les données sont chargées.
Cela ne se produit sur aucun autre navigateur.
La suppression d'un fichier MP3 (le dernier ajouté) a résolu le problème, est-ce donc peut-être un problème de limite de données?
sockets
google-chrome
http
networking
streaming
Foxhoundn
la source
la source
Réponses:
Il semble que vous atteignez la limite de connexions par serveur. Je vois que vous chargez beaucoup de fichiers statiques et mon conseil est de les séparer sur des sous-domaines et de les servir directement avec Nginx par exemple.
Créez un sous-domaine appelé img.yoursite.com et chargez toutes vos images à partir de là.
Créez un sous-domaine appelé scripts.yourdomain.com et chargez tous vos fichiers JS et CSS à partir de là.
Créez un sous-domaine appelé sounds.yoursite.com et chargez tous vos MP3 à partir de là ... etc.
Nginx propose d'excellentes options pour servir directement les fichiers statiques et gérer la mise en cache des fichiers statiques.
la source
Explication:
Ce problème se produit car Chrome autorise jusqu'à 6 connexions ouvertes par défaut. Donc, si vous diffusez simultanément plusieurs fichiers multimédias à partir de 6
<video>
ou<audio>
balises, la 7ème connexion (par exemple, une image) se bloquera jusqu'à ce que l'une des sockets s'ouvre. Habituellement, une connexion ouverte se fermera après 5 minutes d'inactivité, et c'est pourquoi vous voyez enfin vos fichiers .png se charger à ce stade.Solution 1:
Vous pouvez éviter cela en minimisant le nombre de balises multimédias qui maintiennent une connexion ouverte. Et si vous devez en avoir plus de 6, assurez-vous de les charger en dernier ou qu'ils n'ont pas d'attributs comme
preload="auto"
.Solution 2:
Si vous essayez d'utiliser plusieurs effets sonores pour un jeu Web, vous pouvez utiliser l' API Web Audio . Ou pour simplifier les choses, utilisez simplement une bibliothèque comme SoundJS , qui est un excellent outil pour lire simultanément une grande quantité d'effets sonores / de morceaux de musique.
Solution 3: Forcer l'ouverture des sockets (non recommandé)
Si vous le devez, vous pouvez forcer l'ouverture des sockets dans votre navigateur (dans Chrome uniquement):
chrome://net-internals
.Sockets
dans le menu.Flush socket pools
bouton.Cette solution n'est pas recommandée car vous ne devez pas vous attendre à ce que vos visiteurs suivent ces instructions pour pouvoir consulter votre site.
la source
<video>
éléments HTML5 etLe message:
s'affiche, car vous avez atteint une limite sur ssl_socket_pool par hôte, proxy ou groupe.
Voici le nombre maximum de connexions HTTP que vous pouvez établir avec un navigateur Chrome:
Maximum par hôte: 6 connexions.
Ceci est probablement codé en dur dans le code source du navigateur Web, vous ne pouvez donc pas le modifier.
Total de 256 connexions HTTP regroupées par navigateur.
Source: Réseau d'entreprise pour les appareils Chrome
Les limites ci-dessus peuvent être vérifiées ou vidées à
chrome://net-internals/#sockets
(ou en temps réel àchrome://net-internals/#events&q=type:SOCKET%20is:active
).Votre problème avec l'audio peut être lié au bogue Chrome 162627 où l'audio HTML5 ne se charge pas et atteint le maximum de connexions simultanées par serveur: proxy. C'est toujours un problème actif au moment de la rédaction (2016).
Un problème beaucoup plus ancien lié à la demande de vidéo HTML5 reste en attente , il est probablement lié au problème # 234779 qui a été corrigé en 2014. Et lié à SPDY qui peut être trouvé dans le numéro 324653: problème SPDY: attente des sockets disponibles , mais cela a déjà été résolu en 2014, donc probablement pas lié.
Un autre problème connexe maintenant marqué comme dupliqué peut être trouvé dans le problème 401845: Échec du préchargement des métadonnées audio. N'a chargé que 6 sur 10+, ce qui était lié au problème avec le code du lecteur multimédia laissant un tas de demandes en pause.
Cela peut également être lié à certains logiciels publicitaires ou extensions antivirus Chrome utilisant vos sockets dans les arrière-plans (comme Sophos ou Kaspersky ), alors vérifiez l' activité du réseau dans DevTools .
la source
la solution simple et correcte est de retarder le préchargement de votre fichier audio et vidéo du paramétrage et de revérifier votre page votre problème d'attente de socket disponible sera résolu ...
si vous utilisez jplayer alors remplacez le préchargement: "metadata" pour précharger: "aucun" de jplayer Fichier JS ...
préchargement: "métadonnées" est la valeur par défaut qui lit votre fichier audio / vidéo lors du chargement de la page, c'est pourquoi Google Chrome affiche l'erreur "En attente de socket disponible"
la source
Notre première pensée est que le site est en panne ou similaire, mais la vérité est que ce n'est pas le problème ou le handicap. Ce n'est pas non plus un problème car une simple connexion testée sous Firefox, Opera ou l'explorateur de services s'ouvre normalement.
L'erreur dans Chrome affiche un signe qui dit "Ce site n'est pas disponible" et une clarification avec la légende "Erreur 15 (net :: ERR_SOCKET_NOT_CONNECTED): Erreur inconnue". L'erreur est assez courante dans Google Chrome, plus précisément dans ses mises à jour, et sa solution de contournement est de redémarrer l'ordinateur.
Comme les solutions partielles ne sont pas beaucoup, nous vous proposons un tutoriel pour résoudre le problème en moins d'une minute. Pour éviter ce problème et vous assurer que les services sont normalement ouverts dans Google Chrome, vous devez insérer ce qui suit dans la barre d'adresse: chrome: // net-internals (puis donner "Enter"). Ils doivent ensuite aller dans le menu "Socket" dans le menu de gauche et choisir "Flush Socket Pools" (regardez les captures d'écran suivantes pour guider http://www.fixotip.com/how-to-fix-error-waiting-for -available-sockets-in-google-chrome / ) Cela a résolu le problème et ne rencontrera plus de problèmes d'accès à Gmail, Google ou à l'un des services du géant de Mountain View. J'espère que vous l'avez trouvé utile et que vous partagez le tutoriel avec qui ils ont besoin ou sur les réseaux sociaux: Facebook, Twitter ou Google+.
la source
Chrome est un navigateur basé sur Chromium et les navigateurs basés sur Chromium n'autorisent qu'un maximum de 6 connexions de socket ouvertes à la fois, lorsque la 7ème connexion démarre, il restera inactif et attendra que l'un des 6 en cours d'exécution s'arrête, puis il le sera. commence à fonctionner. D'où le code d'erreur «en attente des sockets disponibles» , le 7ème attendra qu'une de ces 6 sockets devienne disponible, puis il commencera à fonctionner.
Tu peux soit
la source