3

我使用 SocketIO 从 HTML5 Web 应用程序与 NodeJS 服务器通信。在使用 SocketIO (io.connect) 建立的第一个连接完成后,如果我打开一个新选项卡并触发新的登录,例如在应用程序的另一个模块中,它会打开一个与 SocketIO 的新连接。一旦第二个连接成功,第一个 websocket 连接就会关闭(我收到一个“断开连接”事件)。

您知道 SocketIO 库中是否存在阻止服务器与同一台计算机建立多个连接的东西?

如果第一个连接是用 Chrome 建立的,第二个是用 Firefox 建立的,那么行为是相同的。

但是,如果我使用 Safari,这两个连接都会保持活动状态。

很奇怪。

谢谢!

4

1 回答 1

1

我们最近在使用 Chrome 作为主浏览器的 OSX 计算机上遇到了这个问题,并尝试用 Firefox 打开第二个 websocket。该问题与之前未被接受为 websocket 例外的无效证书有关。如果异常被接受并且已经连接到套接字,这会导致 chrome 浏览器断开连接。一旦 Firefox 接受了无效证书的例外,两个连接都会保留。当然,在存在有效证书的生产环境中,不应出现此问题。

于 2012-12-05T13:51:08.280 回答