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