浏览器仅允许3个选项卡通过Socket.io连接到本地服务器

时间:2018-11-03 15:46:28

标签: node.js websocket socket.io

我有一个正在开发中的React App。我使用import nltk def novel10(words): first_list = words[:int(len(words)*.90)] second_list = words[int(len(words)*.90):] print(type(first_list)) print(type(second_list)) words = nltk.corpus.udhr.words("English-Latin1") novel10(words) 将前端连接到我在本地运行的服务器文件。

我打开了多个选项卡(包括隐身模式),因此我可以同时模拟多个人,并且浏览器在第四个窗口中挂起。我最多可以打开3个。当我介绍第四个应用程序时,我要么无法加载React应用程序,要么无法加载它,而当我尝试执行任何会产生套接字操作的操作时,它就会挂起。

我确实注意到我可以在Firefox中打开第四个窗口,没问题。看来这是Chrome /浏览器的问题,它限制了我只能通过一个浏览器进行3个套接字连接。

有什么想法吗?我什至没有发出大量的排放物。我真的不认为这是我的服务器或客户端代码。我尝试使用

启用`multi-plexing

"style": { "description": "Imperial stouts are usually extremely dark brown to black in color with flavors that are intensely malty, deeply roasted and sometimes with accents of dark fruit &#40raisin, fig&#41 and chocolate. The bitterness is typically low to moderate. Imperial stouts are strong and generally exceed 8% ABV." }

在我的客户代码(反应)中,但是直到我开始同时使用Chrome和Firefox来将Chrome保留在4个标签下时,问题才得以解决。

1 个答案:

答案 0 :(得分:1)

不幸的是,这是与Chrome中服务器的开放连接的硬编码限制。

每个主机实际上有6个开放套接字(https://support.google.com/chrome/a/answer/3339263?hl=en)。但是,令人困惑的是,我怀疑您正在使用诸如热重装之类的东西,其中使用了一个套接字(因此,为什么每个页面占用两个套接字,而不仅仅是一个套接字)。

唯一可以做的(取决于您的体系结构)是在不同的端口上生成多个服务器(然后每个端口可以有6个)。

或者,正如您所发现的,您可以使用不强制执行此限制的其他浏览器。