Fox*_*ndn 98 sockets streaming networking google-chrome http
我有一个浏览器游戏,我最近开始在游戏中添加音频.
Chrome不会加载整个页面并且卡住"91 requests | 8.1 MB transferred"并且不会加载任何更多内容,甚至会在所有其他标签中对网站进行制动Waiting for available socket.
5分钟后(确切地)加载数据.


这不会发生在任何其他浏览器上.
删除一个MP3文件(最新添加的一个)修复了问题,所以我猜它是一个数据限制问题?
Mar*_*zzo 138
说明:
出现此问题的原因是默认情况下Chrome最多允许6个打开的连接.因此,例如,如果您同时从6个<video>或<audio>标签流式传输多个媒体文件,则第7个连接(例如,图像)将挂起,直到其中一个套接字打开.通常,打开的连接会在闲置5分钟后关闭,这就是为什么你看到你的png最终在那时加载的原因.
解决方案1:
您可以通过最小化保持打开连接的媒体标记的数量来避免这种情况.如果你需要超过6个,请确保你最后加载它们,或者它们没有像这样的属性preload="auto".
解决方案2:
如果您正在尝试为网页游戏使用多种声音效果,我强烈建议您使用SoundJS它是同时播放大量音效/音乐曲目的绝佳工具.
解决方案3:强制打开插座(不推荐)
如果必须,您可以在浏览器中强制打开套接字(仅限Chrome):
chrome://net-internals.Sockets.Flush socket pools按钮.建议不要使用此解决方案,因为您不应期望访问者按照这些说明查看您的网站.
Pre*_*e4a 66
看起来您正在达到每台服务器连接的限制.我看到你正在加载很多静态文件,我的建议是在子域上将它们分开,并直接用Nginx提供它们.
创建一个名为img.yoursite.com的子域,并从那里加载所有图像.
创建一个名为scripts.yourdomain.com的子域,并从那里加载所有JS和CSS文件.
创建一个名为sounds.yoursite.com的子域名,然后从那里加载所有的MP3 ......等等.
Nginx有很好的选择,可以直接提供静态文件和管理静态文件缓存.
ken*_*orb 13
消息:
等待可用插座......
显示,因为您已经为每个主机,代理或组的ssl_socket_pool达到了限制.
以下是您可以使用Chrome浏览器进行的最大HTTP连接数:
每台主机最多:6个连接.
这很可能是在Web浏览器的源代码中硬编码的,因此您无法对其进行更改.
每个浏览器共有256个HTTP连接.
可以chrome://net-internals/#sockets(或实时chrome://net-internals/#events&q=type:SOCKET%20is:active)检查或刷新上述限制.
您的音频问题可能与Chrome错误162627有关,其中HTML5音频无法加载,并且每个服务器都会达到最大同时连接数:代理.在撰写本文时(2016年),这仍然是一个活跃的问题.
与HTML5视频请求相关的许多旧问题保持待定,然后它可能与2014年修复的问题#234779有关.与SPDY有关,可以在问题324653中找到:SPDY问题:等待可用的套接字,但这已经修复在2014年,可能它没有相关性.
现在标记为重复的其他相关问题可以在问题401845:无法预加载音频元数据中找到.仅加载10个中的6个与媒体播放器代码的问题相关,留下了一堆暂停的请求.
这也可能与使用背景中的套接字(如Sophos或Kaspersky)的某些Chrome广告软件或防病毒扩展有关,因此请检查DevTools中的网络活动.
小智 6
简单,正确的办法是推迟从设置预加载音频和视频文件,并重新检查你的页面的等待可用的套接字问题会得到解决......
如果你使用jplayer然后更换预载:"元数据",以预载:"无"从jplayer JS文件...
预加载:"元数据"是在页面加载时播放音频/视频文件的默认值,这就是为什么谷歌浏览器显示"等待可用套接字"错误
| 归档时间: |
|
| 查看次数: |
133962 次 |
| 最近记录: |