2017-06-14 239 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