0

我是一位想在瀏覽器中使用websocket + node.js進行遊戲的前端開發人員。 我所要求的是一個關於如何讓Google Cloud或其他任何幫助的教程。在Google雲端平臺教程中使用Node.js + WebSocket進行實時遊戲?

我發現的是這樣的: https://cloud.google.com/solutions/real-time-gaming-with-node-js-websocket 但是我對服務器端並不熟悉,對於Google平臺來說都是新手,所以它對我沒什麼幫助。

我有一個簡單的套接字示例,只要它在我的本地環境中,但是當我部署它時,我會在控制檯中發現很多奇怪的錯誤。

你可以在這裏找到它 http://socket-1281.appspot.com/

有錯誤在控制檯日誌中說:

WebSocket connection to 'ws://socket-1281.appspot.com/socket.io/?EIO=3&transport=websocket&sid=BXTZAZbQVQYA1TBLAAAA' failed: Error during WebSocket handshake: Unexpected response code: 400 
Failed to load resource: the server responded with a status of 400 (Bad Request) 

因此,沒有人知道如何解決這個或在哪裏可以找到幫助?

這裏的源 https://app.box.com/s/a3ma8ivel1qj378m9nh7s9q1e3xreo7n

+0

那麼你可以檢查控制檯什麼錯誤真的是。看看整個系統,然後確定錯誤並不容易。 –

+0

我已經搜索過它,發現它與matlab有一些關係,叫做nginx。 – arpo

回答

1

谷歌應用程序引擎的負載平衡器不支持WebSockets的。如果您嘗試連接到socket-1281.appspot.com,它將通過負載均衡器並且不起作用。你需要做的是通過直接連接到你的實例來避免負載平衡器。

下面是一個例子,這可能有助於: https://github.com/thebergamo/appengine-websocket-nodejs#how-to-setup-the-deployment-environment

+0

太棒了!似乎是我在找什麼。在index.html中它說var host ='your-ip';當我將它部署到GAE時,我應該放置什麼? – arpo

+2

在該頁面上的自述文件中提到:「Google App Engine - >實例 - 將選項管理更改爲用戶。接下來,您需要將IP設置爲靜態。所以無論ip是那個實例在那個點上應該是你用於'your-ip'的那個。 – Christiaan

+0

Obrigado!這回答了我的第二個問題。但是,這不會改變? – arpo