janschaf1 Geschrieben 24. Dezember 2020 Melden Share Geschrieben 24. Dezember 2020 hallo, ich bin gerade dabei ein einfaches Autospiel zu programmieren. Ich habe einen dedicated Server in java geschrieben. Meine Idee ist nun folgende: Ich möchte das die Positionsdaten von einem selber an den Server geschickt werden und der Sendet es dann an alle Clients damit die Position synchronisiert wird . Meine Frage ist nun wie kann ich meine Positionsdaten an den Server Senden und wie kann ich die Daten erhalten. Danke! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 24. Dezember 2020 Melden Share Geschrieben 24. Dezember 2020 Du baust eine Verbindung auf (UDP, TCP, kannst dir auch Sockets anschauen) und serialisierst die Daten in einen Stream. Der Server deserialisiert die Datan dann wieder. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
janschaf1 Geschrieben 25. Dezember 2020 Autor Melden Share Geschrieben 25. Dezember 2020 Danke für die Antwort! Das habe ich hinbekommen. Nun wenn ich das Programm starte wird mir ein Benutzername gegeben. Jetzt sendet der Server an alle anderen Nutzer meinen Benutzernamen und meine Position. Wie kann ich es machen das bei den anderen Benutzern ein Spieler gespawnt wird und dieser dann meine Position bekommt. Habe es schon über eine Array List probiert aber bekomme es einfach nicht hin. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 26. Dezember 2020 Melden Share Geschrieben 26. Dezember 2020 Na auch einfach wieder serializing and deserializing. Wichtig ist, dass der Server oder Client erkennen sollte was ihm gerade gesendet wird. Z.B. mit Nummern am Anfang. 1 für Spawn, 2 für Position update usw. Wenn man sowas gemacht hat, kann man dann folgendes tun. Beispiel mit einer Klasse. public class SpawnMessage { public id playerId; float x; float y; float z; } Server SpawnMessage spawnMessage = new SpawnMessage() { playerId = HIER_SPIELER_ID, 0f, 0f, 0f }; byte[] serializedMsg = serialize(spawnMessage). Client SpawnMessage spawnMessage = deserialize(serializedMsg). Nun die Position setzen und so weiter. Ich hab in C# geschrieben. Kp wie das in Java wäre. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
janschaf1 Geschrieben 26. Dezember 2020 Autor Melden Share Geschrieben 26. Dezember 2020 In Java müsste ich das mit Sockets mal probieren. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.