在AppEngine上启动NodeJs应用程序后,我发现它引发了异常:app.min.js:20 WebSocket连接到'wss://hostname/socket.io/?EIO = 3&transport = websocket&sid = OClcQulfAmcJEpfMAAAV'失败:WebSocket期间出错握手:意外的响应代码:400
尝试使用Google时,我发现Google Cloud似乎不支持WebSockets。由于应用是编写的,而且我们没有太多时间来重写它,还有其他方法可以保持现状并让socket.io与Google Cloud一起工作吗?是否可以单独运行Socket.IO服务器并通过它进行通信?将应用程序移至Compute Engine上的独立VM可以解决该问题,或者甚至不支持套接字吗?
跟进:我发现它虽然可以在Chrome上运行,但会自动切换到池传输。
最佳答案
可以使用运行Node.js的Flexible Environment来完成。然而,
Note: Secure WebSockets are currently not supported by App Engine Flexible Environment. WebSockets will only work if you load your page over HTTP (not HTTPS).
https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/master/appengine/websockets
编辑:要添加,有一个beta版,支持使用typhoonae进行GAE的Web套接字。这是那些有兴趣的人的链接:
https://code.google.com/archive/p/typhoonae/wikis/WebSockets.wiki
关于node.js - 带有Socket.IO的Google App Engine/计算引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44553094/