我一直在努力解决我的websocket连接的一个奇怪问题。 我使用socketio 1.4.5连接到服务器(flask,flask-socketio,gunicorn,nginx)。
问题是,在建立websocket连接之后,使用xhr轮询连接8次连接尝试中的大约1次连接。不知何故,这阻止了这个特定客户的整个通信。当达到超时时(在我的情况下为60秒),socketio再次连接,如果下次没有xhr-polling阻塞,则通信再次启动。
这让我非常沮丧。我在使用相同设置的应用程序之前从未见过这个问题。
?EIO=3&transport=websocket&sid=997d6d19758641249e3b1232341e9fe2 GET 101 websocket localhost websocket Other 0 B 1.0 min
?EIO=3&transport=polling&t=LEUZRW7&sid=997d6d19758641249e3b1232341e9fe2 GET 504 http/1.1 localhost 127.0.0.1:443 xhr socket.io-1.4.5.js:1 763 B 1.0 min
以上两行是分析chrome中的流量时网络选项卡上可用的内容。在达到超时之前,504将替换为“pending”。
我一直试图找到解决方案几个小时,现在用完了想法。我希望有人可以帮助我..