【问题标题】:Could a websocket become blocked by pending http requests?websocket 会被挂起的 http 请求阻塞吗?
【发布时间】:2014-05-28 19:20:21
【问题描述】:

其他帖子和本网站清楚地表明,浏览器可能有待处理的连接数是有限制的:

http://www.browserscope.org/?category=network

How many concurrent AJAX (XmlHttpRequest) requests are allowed in popular browsers?

我的问题是,这会如何影响 websockets? 6 个待处理的 http 请求会阻止来自服务器的消息吗?如果是这样,是否有可以避免这种情况的端口配置?

请原谅我对所有这些网络的无知。我非常关注 JS,我们的 websocket 使用很关键。

谢谢你, 回复

【问题讨论】:

    标签: javascript http websocket webserver browser


    【解决方案1】:

    没有。

    WebSocket 是一个持久连接,只要您不离开,它就会一直保持连接。

    每个浏览器都有自己的连接限制,如果有太多正在进行的连接,可能会延迟或暂时阻塞 WebSocket 连接,但是一旦建立连接,就不会因此阻塞任何消息。

    【讨论】:

      【解决方案2】:

      它可能会阻塞,但可能还有许多其他原因。

      尝试减少请求数量。如果还是有问题,那么阻塞的原因在别处。

      一旦我在 php/Symfony2 中遇到问题,当挂起的请求由于会话锁定而阻塞任何其他连接时。

      【讨论】:

      • 哇哦。感谢您的回复,尤其是对您过去问题的参考。但是我们能否澄清一下您的连接之一是网络套接字?
      • 不,它是长轮询 ajax。尽管如此,您需要在不同条件下测试代码以找出问题的根源在哪里。并且 websocket 连接开始作为正常的 HTTP 请求。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多