node.js - 带有Socket.IO的Google App Engine/计算引擎

标签 node.js sockets google-app-engine socket.io

在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/

相关文章:

google-app-engine - gcloud app deploy 尝试编译不需要的文件,我可以排除部分树吗?

google-app-engine - 初始化 Cloud Engine 时还有其他人遇到 "unknown error"吗?

python - 如何将 Memcache 与 ProtoRPC 结合使用(Google App Engine - Python)

javascript - 在 nodejs 中遇到 promise 问题

javascript - Node.js 解析在接收 JSON 时返回未定义

node.js - 如何在 typescript 中使用 Node 配置?

c# - unity3d 中的套接字出现问题

java - 关闭套接字的输入流是否也会关闭套接字连接?

javascript - node.js 的奇怪对象成员行为

node.js - 使用 Node.js、集群和 Socket.IO 的 HTML5 Canvas