0

Ich bin ein Frontend-Entwickler, der websocket + node.js für ein Spiel im Browser verwenden möchte. Worum ich bitten möchte, ist ein großartiges Tutorial, wie man das in der Google Cloud macht oder andere Hilfe.Echtzeit-Gaming mit Node.js + WebSocket in Google Cloud Platform tutorial?

Was ich fand, ist dies: https://cloud.google.com/solutions/real-time-gaming-with-node-js-websocket Aber ich bin nicht so mit dem Server Ende vertraut und ist alles neu auf die Plattform Google, so dass es mir nicht helfen, eine Menge ist.

Ich habe ein einfaches Socket Beispiel funktioniert so lange wie es in meiner lokalen Umgebung ist, aber wenn ich es bereitstellen, bekomme ich viele seltsame Fehler in der Konsole.

Sie können es finden hier http://socket-1281.appspot.com/

Es Fehler in der Konsolenprotokoll sagt:

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) 

So Wer weiß, wie diese zu lösen oder wo finde ich Hilfe?

Hier ist die Quelle https://app.box.com/s/a3ma8ivel1qj378m9nh7s9q1e3xreo7n

+0

Well Sie die Konsole für überprüfen können, was die Fehler wirklich sind. Es ist nicht einfach, sich das komplette System anzusehen und dann die Fehler zu identifizieren. –

+0

Ich habe danach gesucht und festgestellt, dass es etwas mit etwas namens nginx zu tun hat. – arpo

Antwort

1

Die Loadbalancer von Google App Engine nicht WebSockets unterstützen. Wenn Sie versuchen, sich mit socket-1281.appspot.com zu verbinden, wird der loadbalancer durchlaufen und funktioniert nicht. Sie müssen den Lastenausgleich vermeiden, indem Sie eine direkte Verbindung zu Ihrer Instanz herstellen. Hier

ist ein Beispiel, die helfen könnten: https://github.com/thebergamo/appengine-websocket-nodejs#how-to-setup-the-deployment-environment

+0

Großartig! Scheint zu sein, wonach ich suche. In index.html heißt es var host = 'your-ip'; Was muss ich hier angeben, wenn ich es auf GAE ausstelle? – arpo

+2

In der Readme auf dieser Seite heißt es: 'Google App Engine -> Instanzen - Ändern Sie die Option Verwaltet zu Benutzer. Als nächstes müssen Sie die IP auf statisch einstellen. Also, was auch immer die IP ist, die die Instanz zu diesem Zeitpunkt hat, sollte diejenige sein, die Sie für Ihre 'Ihre-IP' verwenden. – Christiaan

+0

Obrigado! Das beantwortet meine zweite Frage. Aber wird sich diese IP nicht ändern? – arpo

Verwandte Themen