Frage

Zum einen weiß ich Koordinaten ist wahrscheinlich die falsche Terminologie? Ich würde davon ausgehen, ich würde einfach die x- und y-Variablen werden vorbei, aber stimmt sie beschreiben besser fühle ich mich.

Jetzt muß ich einen Server habe, die durch 2-Clients zugegriffen werden kann, es ist ein Rennspiel, und es muss jeden Kunden in der Lage sein, einen racecar simultaniously zu manövrieren, die jeweils ein anderes Steuerschema verwendet, aber das ist weder hier noch dort.

Ich habe gehofft, jemand in der Lage sein würde, mich zu unterstützen, wenn es darum geht, die x- und y-Positionen eines Rennwagen an den Server zu senden und mit dem Server sich auf den nächsten Spieler weiter und umgekehrt beiden Rennwagen auf die bewegen, damit senden gleichzeitig auf jedem Kunden Fenster. Bisher habe ich nur die einfachen Server Sachen gemacht, wie der Knock-Server auf der Sun-Website und einen einfachen Echo-Server, die eine Zeichenfolge wiederholt I an den Server senden.

Als ich versuchte, int zu verwenden anstelle von String ich einen Fehler empfangen, dass der int ich war dynamisch passieren wollte (natürlich ändert sich mit jeder Bewegung) und kann nicht als statisch übergeben werden (unter Verwendung von readInt und writeInt).

So jede mögliche Hilfe, wie die gewünschte Bewegung auf beiden Client-Fenstern über den Server würde geschätzt erstellen.

Danke

War es hilfreich?

Lösung

Eine einfache Lösung ist Object mit serialisierbare Objekte :

class Coordinates implements Serializable{...}

ObjectOutputStream out = new ObjectOutputStream(...);
out.writeObject(new Coordinates(...));

Andere Tipps

Craig, sind Sie in der Nähe. Dynamisch / statisch ist ein Missverständnis, das hat nichts mit dem Rennspiel oder Ändern von Werten zu tun. Es ist nur so, dass man nicht Felder deserialisieren kann, die statisch (oder transiente) deklariert sind, wie es in der javadoc für Object sagt:

  

Felder deklariert als transient oder statisch durch die Deserialisierung ignoriert werden.

Die Lösung ist (hoffentlich) einfach: entfernen Sie den static Modifikator von Ihrem x / y ganze Zahlen sind, die das Problem lösen sollte. btw -. wenn Ihr String statisch gewesen wäre, wäre es genau die gleiche Art und Weise versagt hat

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top