2017-06-14 205 views
0

在AppEngine上启动我的NodeJs应用程序后,我发现它引发一个异常:app.min.js:20 WebSocket连接到'wss://hostname/socket.io/? EIO = 3 &运输= WebSocket的& SID = OClcQulfAmcJEpfMAAAV”失败:错误的WebSocket握手期间:意外的响应代码:400谷歌App Engine /计算引擎与Socket.IO

试图谷歌,我发现谷歌云似乎不支持WebSockets的。由于应用程序已编写,我们没有多少时间来重写它,因此有没有其他方法可以保持原样并使socket.io与Google Cloud协同工作?是否可以单独运行Socket.IO服务器并通过它进行通信?在应用程序转移到独立的虚拟机在计算引擎可以解决它或插座不支持即使在那里?

后续行动:我发现它适用于Chrome,但它会自动切换到合并传输。

回答

2

它可以使用运行Node.js的灵活环境来完成。但是,

注意:安全WebSockets目前不受App Engine支持 灵活的环境。只有通过HTTP(不是HTTPS)加载页面 ,WebSockets才能正常工作。

https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/master/appengine/websockets

编辑:要添加,有支持Web套接字使用typhoonae GAE一个测试版。以下是有兴趣的链接: https://code.google.com/archive/p/typhoonae/wikis/WebSockets.wiki