Tengo un juego de navegador y recientemente comencé a agregar audio al juego.
Chrome no carga toda la página y se queda bloqueado "91 requests | 8.1 MB transferred"
y no carga más contenido; e incluso rompe el sitio web en todas las demás pestañas, diciendo Waiting for available socket
.
Después de 5 minutos (exactamente) se cargan los datos.
Esto no sucede en ningún otro navegador.
Eliminar un archivo MP3 (el último agregado) solucionó el problema, entonces, ¿es quizás un problema de límite de datos?
sockets
google-chrome
http
networking
streaming
Raposero
fuente
fuente
Respuestas:
Parece que está llegando al límite de conexiones por servidor. Veo que está cargando muchos archivos estáticos y mi consejo es separarlos en subdominios y servirlos directamente con Nginx, por ejemplo.
Cree un subdominio llamado img.yoursite.com y cargue todas sus imágenes desde allí.
Cree un subdominio llamado scripts.yourdomain.com y cargue todos sus archivos JS y CSS desde allí.
Crea un subdominio llamado sounds.yoursite.com y carga todos tus MP3 desde allí ... etc.
Nginx tiene excelentes opciones para servir directamente archivos estáticos y administrar el almacenamiento en caché de archivos estáticos.
fuente
Explicación:
Este problema se produce porque Chrome permite hasta 6 conexiones abiertas de forma predeterminada. Entonces, si está transmitiendo múltiples archivos multimedia simultáneamente desde 6
<video>
o<audio>
etiquetas, la séptima conexión (por ejemplo, una imagen) simplemente se colgará, hasta que uno de los enchufes se abra. Por lo general, una conexión abierta se cerrará después de 5 minutos de inactividad, y es por eso que está viendo que su .png finalmente se carga en ese punto.Solución 1:
Puede evitar esto minimizando la cantidad de etiquetas de medios que mantienen una conexión abierta. Y si necesita tener más de 6, asegúrese de cargarlos al final o de que no tengan atributos como
preload="auto"
.Solución 2:
Si está intentando utilizar varios efectos de sonido para un juego web, puede utilizar la API de audio web . O para simplificar las cosas, simplemente use una biblioteca como SoundJS , que es una gran herramienta para reproducir una gran cantidad de efectos de sonido / pistas de música simultáneamente.
Solución 3: Enchufes de apertura forzada (no recomendado)
Si es necesario, puede forzar la apertura de los sockets en su navegador (solo en Chrome):
chrome://net-internals
.Sockets
del menú.Flush socket pools
botón.No se recomienda esta solución porque no debe esperar que sus visitantes sigan estas instrucciones para poder ver su sitio.
fuente
<video>
elementos HTML5 y estoy llegando al límite.El mensaje:
se muestra, porque ha alcanzado un límite en ssl_socket_pool ya sea por Host, Proxy o Grupo.
Aquí está la cantidad máxima de conexiones HTTP que puede realizar con un navegador Chrome:
Máximo por host: 6 conexiones.
Es probable que esto esté codificado en el código fuente del navegador web, por lo que no puede cambiarlo.
Total de 256 conexiones HTTP agrupadas por navegador.
Fuente: Redes empresariales para dispositivos Chrome
Los límites anteriores se pueden verificar o eliminar en
chrome://net-internals/#sockets
(o en tiempo real enchrome://net-internals/#events&q=type:SOCKET%20is:active
).Su problema con el audio puede estar relacionado con el error de Chrome 162627 donde el audio HTML5 no se carga y alcanza el máximo de conexiones simultáneas por servidor: proxy. Este es un tema aún activo en el momento de redactar este artículo (2016).
Un problema mucho más antiguo relacionado con la solicitud de video HTML5 permanece pendiente , entonces probablemente esté relacionado con el Problema # 234779 que se corrigió en 2014. Y relacionado con SPDY que se puede encontrar en el Problema 324653: Problema SPDY: esperando sockets disponibles , pero esto ya se solucionó en 2014, probablemente no esté relacionado.
Otro problema relacionado ahora marcado como duplicado se puede encontrar en el Problema 401845: Error al precargar metadatos de audio. Cargó solo 6 de 10+, lo que estaba relacionado con el problema con el código del reproductor multimedia, dejando un montón de solicitudes en pausa.
Esto también puede estar relacionado con algunas extensiones de antivirus o adware de Chrome que usan sus sockets en los fondos (como Sophos o Kaspersky ), así que verifique la actividad de la red en DevTools .
fuente
La solución simple y correcta es posponer la precarga de su archivo de audio y video desde la configuración y volver a verificar su página, su problema de esperar el socket disponible se resolverá ...
si usa jplayer, reemplace preload: "metadata" para preload: "none" de jplayer Archivo JS ...
precarga: "metadatos" es el valor predeterminado que reproduce su archivo de audio / video en la carga de la página, por eso google chrome muestra el error "esperando socket disponible"
fuente
Nuestro primer pensamiento es que el sitio está caído o algo así, pero la verdad es que ese no es el problema o la discapacidad. Tampoco es un problema porque una simple conexión cuando se prueba con Firefox, Opera o el Explorador de servicios se abre con normalidad.
El error en Chrome muestra un cartel que dice "Este sitio no está disponible" y una aclaración con la leyenda "Error 15 (net :: ERR_SOCKET_NOT_CONNECTED): Error desconocido". El error es bastante habitual en Google Chrome, más precisamente en sus actualizaciones, y su solución es reiniciar el equipo.
Como las soluciones parciales no son muchas, ofrecemos un tutorial para que resuelvas la falla en menos de un minuto. Para evitar este problema y asegurarse de que los servicios estén normalmente abiertos en Google Chrome, debe insertar lo siguiente en la barra de direcciones: chrome: // net-internals (luego dar "Enter"). Luego tienen que ir al "Socket" en el menú de la izquierda y elegir "Flush Socket Pools" (mire las siguientes capturas de pantalla para guiar http://www.fixotip.com/how-to-fix-error-waiting-for -available-sockets-in-google-chrome / ) Esto tiene el problema resuelto y ya no tendrá problemas para acceder a Gmail, Google o cualquiera de los servicios del gigante de Mountain View. Espero que te haya resultado útil y compartas el tutorial con quien necesiten o en las redes sociales: Facebook, Twitter o Google+.
fuente
Chrome es un navegador basado en Chromium y los navegadores basados en Chromium solo permiten un máximo de 6 conexiones de socket abierto a la vez, cuando se inicia la séptima conexión, simplemente permanecerá inactivo y esperará a que uno de los 6 que se están ejecutando se detenga y luego lo hará. empezar a correr. De ahí el código de error 'esperando sockets disponibles' , el séptimo esperará a que uno de esos 6 sockets esté disponible y luego comenzará a ejecutarse.
Tu también puedes
fuente