繁体   English   中英

如何最大化服务器发送的事件打开连接?

[英]how to maximize the server sent event open connections?

我正在为用户构建通知服务,以获得有关其活动的通知。 我只需要服务器到客户端通知(单向)。 我已经探索了多种选择,例如轮询,WebSocket,SSE。 因为,与Websocket不同,SSE的资源消耗较少,并且除了HTTP本身之外不需要其他协议进行通信。 我选择了SSE。 但是,它有一个限制。 它最多可支持6个Open连接。 我想它与同时访问通知的用户数有关。 即; 最多6个用户可以同时访问通知。

我如何设法最大化开放连接? 或者使用Websocket代替SSE还是更好吗? 如果我误解了这个概念,请原谅我。 我很高兴知道有关这方面的一些信息。

您对最大连接的理解是错误的。 它是关于客户端可以向主机打开的连接数(请参阅此内容 )。 每个浏览器(版本)的数量不同。

因此,当您使用Chrome并在网站上打开页面时,您可以使用最大值。 6个连接,用于从服务器检索数据。

SSE的服务器端没有限制将同一事件发送给多个用户。

注意:如果您仍然需要支持IE,那么它不支持SSE开箱即用,因此您需要一个polyfill或其他解决方案。

正如其他答案所述,大多数浏览器可以打开大约6个HTTP / 1.x连接到同一主机。 因此,如果您使用1个SSE连接,它将保留5个HTTP / 1.x连接。 这仅适用于HTTP / 1.x.

使用HTTP 2.x,与同一主机的连接是多路复用的 :因此,理论上,您可以根据需要同时发送任意数量的HTTP请求,或者您可以根据需要打开任意数量的SSE连接,从而绕过限制6个连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM