我对socket.io很新颖,并且在node/express/socket.io中编写了我的第一个应用程序。现在,在我的nginx服务器上一切正常。我想将我的应用程序发布给公众,但是我担心它不会适用于很多人。我有几个朋友测试我的应用程序,一切都很顺利(这是一个非常简单的应用程序)。这是我的担忧:现在每个连接似乎都使用websockets,这正是我想要的。但是,由于客户端的奇怪之处,我的应用有时会降级为“投票”?如果是这样,socket.io如何决定何时使用轮询以及何时使用websocket(是基于浏览器/版本还是连接或什么)?我很确定它在可能的情况下使用websocket,但是有没有一个列表可以将它敲下来“投票”?另外,有没有一种方法可以通过使用“轮询”来测试我的应用程序以查看它是否有效?什么时候socket.io使用轮询而不是websockets?
我可以发布代码,但我认为这是关于socket.io如何工作的一般性问题。
嗨,只强调@ jfriend00提出的一点:在socket.io 1.0+中,默认情况下连接**总是**以几个HTTP“轮询”请求开始,但您可以按照[这里]所述跳过这些内容。 http://stackoverflow.com/a/28240802/4080966)。 –