长 HTTP 请求会暂停 websocket 数据传输?

Posted

技术标签:

【中文标题】长 HTTP 请求会暂停 websocket 数据传输?【英文标题】:A long HTTP request will pause the websocket data transfer? 【发布时间】:2012-11-23 03:26:28 【问题描述】:

我有一个页面 PA 女巫包含一个 iframe 元素,以及 iframe 的 src 属性对页面 PB 的引用。在 PA 中,我已经与服务器建立了 websocket 连接。

那么,在这种情况下,如果我有一个大文件要在 PB 中发布到服务器,这个操作会暂停 PA 和服务器之间的数据传输吗?

我的意思是,PB中的post请求需要超过1分钟才能完成,是不是意味着在这1分钟内,所有的数据传输都会在队列中暂停,直到post请求完成?

【问题讨论】:

【参考方案1】:

每个 websocket 都使用到服务器的专用连接。任何其他浏览活动,例如在另一个 iframe 中的上传,都不会对它们产生太大影响。由于网络拥塞,连接质量可能会有所下降,但数据交换应该仍然可以。

这意味着除非 Web 浏览器具有最大连接数或每个服务器的连接数,并且 Websocket 连接也被计入该限制。但是我宁愿期待上传失败,因为这是后面的操作。

【讨论】:

以上是关于长 HTTP 请求会暂停 websocket 数据传输?的主要内容,如果未能解决你的问题,请参考以下文章

长轮询,websocket

轮询长轮询长连接socket连接WebSocket

轮询长轮询长连接socket连接WebSocket

http中长连接和websocket的长连接的区别

WebSocket 和 HTTP 的区别

http中长连接和websocket的长连接的区别(转)