Chrome se cuelga después de cierta cantidad de datos transferidos-esperando socket disponible


Tengo un juego de navegador y recientemente he comenzado a agregar audio al juego.

Chrome no carga toda la página y se queda atascado en "91 requests | 8.1 MB transferred" y no carga más contenido e incluso frena el sitio web en todas las otras pestañas diciendo Waiting for available socket.

Después de 5 minutos (exactamente) se cargan los datos.

introduzca la descripción de la imagen aquí

introduzca la descripción de la imagen aquí

Esto no sucede en ningún otro navegador.

La eliminación de un archivo MP3 (el último agregado) solucionó el problema, así que supongo que es un dato ¿problema de límite?

Author: Eric Leschinski, 2014-05-15

5 answers

Parece que está alcanzando el 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.

  • Crear un subdominio llamado img.yoursite.com y carga todas tus imágenes a partir de ahí.

  • Crear un subdominio llamado scripts.yourdomain.com y carga todos tus archivos JS y CSS desde allí.

  • Crear un subdominio llamado sounds.yoursite.com y carga todos tus MP3S desde allí... sucesivamente..

Nginx tiene excelentes opciones para servir directamente archivos estáticos y administrar el almacenamiento en caché de archivos estáticos.

 62
Author: Predte4a,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-26 17:44:07

Explicación:

Este problema se produce porque Chrome permite hasta 6 conexiones abiertas de forma predeterminada. Así, por ejemplo, si está transmitiendo varios archivos multimedia simultáneamente desde 6 etiquetas <video> o <audio>, la 7a conexión (por ejemplo, una imagen) simplemente se colgará, hasta que se abra uno de los sockets. Por lo general, una conexión abierta se cerrará después de 5 minutos de inactividad, y es por eso que está viendo que sus pngs finalmente se cargan en ese punto.

Solución 1:

Puede evitar esto minimizando el número 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 que no tengan atributos como preload="auto".

Solución 2:

Si estás tratando de usar múltiples efectos de sonido para un juego web, te recomiendo encarecidamente que uses SoundJS Es una gran herramienta para reproducir una gran cantidad de efectos de sonido / pistas de música simultánea.

Solución 3: Zócalos abiertos a la fuerza (No recomendado)

Si es necesario, puede forzar la apertura de los sockets en su navegador (solo en Chrome):

  1. Vaya a la barra de direcciones y escriba chrome://net-internals.
  2. En el menú desplegable, seleccione Sockets.
  3. Haga clic en el botón Flush socket pools.

Esta solución no se recomienda porque no debe esperar que sus visitantes sigan estas instrucciones para poder ver su sitio.

 121
Author: Marquizzo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-08 21:26:37

El mensaje:

Esperando el socket disponible...

Se muestra, porque has alcanzado un límite en el ssl_socket_pool ya sea por Host, Proxy o Grupo.

Aquí está el número máximo de conexiones HTTP que puede hacer con un navegador Chrome:

  • El número máximo de conexiones por proxy es de 32 conexiones. Esto se puede cambiar en Policy List.
  • Máximo por host: 6 conexiones.

    Esto es probable codificado en el código fuente del navegador web, por lo que no puede cambiarlo.

  • Un 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 en chrome://net-internals/#events&q=type:SOCKET%20is:active).


Su problema con el audio puede estar relacionado con 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 todavía el número activo en el momento de escribir (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 ha solucionado en 2014. Y relacionado con SPDY que se puede encontrar en Issue 324653: SPDY issue: waiting for available sockets, pero esto ya se solucionó en 2014, por lo que probablemente no esté relacionado.

Otro problema relacionado ahora marcado como duplicado se puede encontrar en Problema 401845: Fallo en la precarga de metadatos de audio. Cargado solo 6 de 10 + que estaba relacionado con el problema con el código del reproductor de medios dejando un montón de solicitudes pausadas colgando alrededor.


Esto también puede estar relacionado con algunas extensiones de adware o antivirus de Chrome que usan sus sockets en los fondos (como Sophos o Kaspersky), así que comprueba la actividad de Network en DevTools .

 10
Author: kenorb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-10 10:12:43

La solución simple y correcta es posponer la precarga de su archivo de audio y video de la configuración y volver a verificar su página su problema de espera de socket disponible se resolverá ...

si usa jplayer entonces reemplace precarga:"metadatos" a precarga:"ninguno" desde el archivo JS de jplayer ...

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"

 6
Author: Najam ali shahid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-24 08:14:38

Nuestro primer pensamiento es que el sitio está caído o similar, pero la verdad es que este no es el problema o la discapacidad. Tampoco es un problema porque una conexión simple cuando se prueba bajo Firefox, Opera o Services Explorer se abre de forma normal.

El error en Chrome muestra un signo que dice "Este sitio no está disponible" y la aclaración con la leyenda "Error 15 (net :: ERR_SOCKET_NOT_CONNECTED): Unknown error". 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 mucho, ofrecemos un tutorial para resolver 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 (a continuación, dar "Enter"). Luego tienen que ir al "Socket" en el menú de la izquierda y elegir "Flush Socket Pools" (mira 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 experimentará problemas de acceso a Gmail, Google o cualquiera de los servicios del gigante de Mountain View. Espero que os haya resultado útil y compartáis el tutorial con quien necesiten o redes sociales: Facebook, Twitter o Google+.

 0
Author: John,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-06 18:58:00