3

我见过很多人写过 Ajax(polling) vs websocket。我没有看到任何人在下面提到 websocket 的缺点。

正如我们所知,对于每个 http 请求,网络服务器都需要连接。网络服务器可以支持的最大并发连接数,除此之外,如果请求到来,请求将不得不等到任何连接收费。

I case of simple http request(poll based),当一个请求由服务器连接被放入池中并且该连接可以用于下一个请求,所以在简单的http请求中不太可能,一个请求将等待一个联系。

但是在 websocket 中,连接永远不会放回 webserver 的池中,因此下一个请求将不得不一直等待连接将非常频繁。

所以,我想知道,我是在想正确还是错过了什么。我是对的,这是如何解决的?这个问题曾经发生过吗?

4

1 回答 1

0

浏览器可以通过使用标头来汇集 HTTP 连接Connection: Keep-Alive,然后将它们重用于对同一主机的进一步请求。

但是 WebSockets 不是关于请求的,它的连接不是共享的。您连接到 WebSocket 服务器,然后控制代码中的通信。就这样。如果你想要另一个连接,那么你应该创建它。

此外,池中现有的 HTTP 连接可以升级为 WebSocket 连接。

于 2017-07-08T20:07:02.710 回答