Socket Über UDP Objekte verschicken

stulleman

Bekanntes Mitglied
Guten Abend!

Ich programmiere gerade ein kleines Programm, oder Spiel wenn man so will.
Man soll sich selber in einer Welt bewegen können in der alle Clients angezeigt werden.
Ich habe überlegt das ganze über UDP zu realisieren, da ich mir mehrere Artikel durchgelesen habe, bei denen UDP für diese Art der Kommunikation vorgeschlagen wird.
Das Problem vor dem ich jetzt stehe ist das ich keine Ahnung habe wie ich die Daten am besten verschicke? Da ich ja Koordinaten, Größen, Namen usw. verschicken will, habe ich an ein Objekt gedacht, in dem all diese Informationen gespeichert sind, das ich dann verschicke.
Das ganze hört sich aber so an als wäre das für ein Spiel nicht geeignet, also schnell genug?
Ich hatte auch überlegt alles in ein byte Array zu schreiben, doch ich habe bis jetzt noch keine gute Methode gefunden das gut zu strukturieren, oder alle Daten in ein Array zu schreiben.

Ich hoffe ihr könnt mir ein wenig helfen!

Max
 

stulleman

Bekanntes Mitglied
Mit dem Verlust der Pakete hatte ich mich eigentlich schon abgefunden. Das würde doch nur zu einem kurzen Ruckler führen oder sehe ich das falsch? Ich habe gelesen das die meißten Ego-shooter mit UDP programmiert wurden. (Keine verlässliche Quelle)
Trotzdem immernoch meine Frage, egal ob TCP/IP oder UDP, wie verschicke ich diese Informationen am besten?

Vielen Dank trotzdem!
 

stulleman

Bekanntes Mitglied
Guten Morgen!

Ja genau, unter anderem habe ich diesen Artikel auch gelesen.

Ich würde mich freuen wenn noch mehr Leute was dazu sagen könnten. ;)
Vor allem was die Form der Übertragung angeht.

Max
 

TheDarkRose

Gesperrter Benutzer
Naja, du kannst nicht alle Information in ein Objekt packen, da nie sichergestellt ist, ob es rekonstruierbar ankommt. Alles einzeln versenden ist da schon eher möglich
 

irgendjemand

Top Contributor
würde hier auch eher dazu raten das objekt selbst in ein byte[] zu schreiben *kann ja in nem UDP immerhin noch mehr als 1400bytes nutzdaten groß sein* ... und dann auf der anderen seite selbst das objekt zusammen bauen ...
serialisierung ist hier viel zu rechenintensiv und gerade was UDP angeht auch nur schlecht umsetzbar
 

stulleman

Bekanntes Mitglied
würde hier auch eher dazu raten das objekt selbst in ein byte[] zu schreiben *kann ja in nem UDP immerhin noch mehr als 1400bytes nutzdaten groß sein* ... und dann auf der anderen seite selbst das objekt zusammen bauen ...
serialisierung ist hier viel zu rechenintensiv und gerade was UDP angeht auch nur schlecht umsetzbar

Danke sehr! Deine Antwort hat mir sehr weiter geholfen.
Konnte gerade erste Ergebnisse erzielen, habe es also geschafft 2 Clients auf zu machen, zum Server zu verbinden und dann bei beiden beide Clients anzeigen zu lassen.

Ein Problem habe ich dennoch. Da ich beide Clients vom selben PC starte, werden sie auf dem selben Port gestartet. Das funktioniert bei meiner Programmierung nicht, sodass ich sie mit unterschiedlichen Ports starten muss.
Gibt es eine Möglichkeit, das ich mein Programm auf einem PC testen kann ohne ständig die Ports zu verändern?

Gruß,

Max
 

stulleman

Bekanntes Mitglied
Okay danke für die schnelle Antwort!
Ich merke schon das Netzwerkspiele programmieren eine sehr, sehr schwierige Angelegenheit ist, mit der eine sehr lange Fehlersuche mit eingeht ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Gruppenchat: Über HTTPS oder nicht? Netzwerkprogrammierung 5
X Über eine Socket-Verbindung Arrays übergeben Netzwerkprogrammierung 5
C Über welchen Netzwerkadapter kommt mein receive? Netzwerkprogrammierung 15
R Über Java anderen Gateway nutzen Netzwerkprogrammierung 10
DeviAn Über ein Linux Server ein Windows Server nach einer File fragen Netzwerkprogrammierung 6
D FTP Über URLConnection Netzwerkprogrammierung 7
O Über Socket Array versenden Netzwerkprogrammierung 5
N Über Socket an Linux-Server Kommandos absetzen? Netzwerkprogrammierung 4
T JSON-Objekte richtig parsen Netzwerkprogrammierung 8
L Socket Wie kann man in Java die Anzahl der Objekte in einem InputStream sehen ohne ihn durchgehen zu müssen Netzwerkprogrammierung 1
E Objekte versenden, Client-Server Netzwerkprogrammierung 25
A RMI RMI - Thread Objekte übertragen und auf anderer Machine weiterlaufen lassen Netzwerkprogrammierung 0
C List Deserialisierung entfernt Objekte Netzwerkprogrammierung 2
F HTTP Serialisierte Objekte aus Datei von Server Netzwerkprogrammierung 1
H Socket Objekte über Socket? Allgemeine Verständnisprobleme in Sachen Socket Netzwerkprogrammierung 3
V Socket Objekte werden nicht aktualisiert Netzwerkprogrammierung 2
B Eigene Objekte per RMI übergeben Netzwerkprogrammierung 2
S Kapselung der Netz-Objekte Netzwerkprogrammierung 3
B verschiedene Serialisierte Objekte identifizieren? Netzwerkprogrammierung 5
T Objekte im NIO unblocking mode versenden Netzwerkprogrammierung 11
C Socket ObjectInputStream liest nur Objekte der jeweiligen Programminstanz Netzwerkprogrammierung 5
G Frage zu Servlets und deren Objekte + Bilder in Servlets anzeigen? Netzwerkprogrammierung 11
G Objekte per TCP verschicken + Thread Netzwerkprogrammierung 4
T Laufen Objekte, die vom Cajo-Server geliefert werden, lokal auf dem Client? Netzwerkprogrammierung 4
T Inputstream -> verschiedene Objekte lesen Netzwerkprogrammierung 3
I Objekte über das Netzwerk Netzwerkprogrammierung 5
M Messenger - String oder Objekte Netzwerkprogrammierung 4
S Netzwerk und Objekte Netzwerkprogrammierung 5
S RMI 1.) Entfernte Objekte "Zwischenspeichern" 2.) Threadsicherheit Netzwerkprogrammierung 2
T rmi ssl zu große Objekte übergeben -> Exception Netzwerkprogrammierung 10
A Konflikt: Blocking und Non-Blocking bei Objekte versenden Netzwerkprogrammierung 4
N RMI und Datenbank Objekte Netzwerkprogrammierung 3
P Objekte über DatagramSocket versenden Netzwerkprogrammierung 12
R Mittels BufferedReader Objekte lesen? Netzwerkprogrammierung 5
M Objekte senden zwischen Java und PHP mit SOAP Netzwerkprogrammierung 9
A Objekte in übergebenen Objekten mit WebServices? Netzwerkprogrammierung 6
A RMI wie kann ich objekte übergeben? Netzwerkprogrammierung 5
P Serialialiserte Objekte übers Netzwerk verschicken Netzwerkprogrammierung 9
S Objekte zwischen Client und Server über Sockets senden Netzwerkprogrammierung 2
N Java socket Programmierung Filme verschicken Netzwerkprogrammierung 20
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
B SocketChannel ByteBuffer Bilder verschicken Netzwerkprogrammierung 17
x46 Socket Files per Socket verschicken Netzwerkprogrammierung 1
D Socket Class über Netzwerk verschicken Netzwerkprogrammierung 2
D Socket Datei nur stückweise über Socket verschicken Netzwerkprogrammierung 6
F Fragen zu Netzwerkspiel, ArrayList verschicken Netzwerkprogrammierung 5
I Socket HTTP Nachrichten über Sockets verschicken Netzwerkprogrammierung 2
M Socket Verschicken von Objecten außerhalb des Routers Netzwerkprogrammierung 29
G Verschlüsselte Strings über Netzwerk verschicken Netzwerkprogrammierung 19
G TCP Verbindung überprüfen OHNE daten zu verschicken Netzwerkprogrammierung 11
P Massen emails verschicken an Kunden die in Datenbank sind Netzwerkprogrammierung 4
T Daten über GSM verschicken Netzwerkprogrammierung 4
S Knuddels Chat System: Bot / Nachrichten verschicken? Netzwerkprogrammierung 6
O email verschicken Netzwerkprogrammierung 8
8 ByteArray per Netzwerk verschicken Netzwerkprogrammierung 6
B Eigenes Protokoll über Sockets verschicken Netzwerkprogrammierung 4
D .jpg, .wav per ServerClient Verbindungen verschicken Netzwerkprogrammierung 8
D Daten per Server- Client nur als byte verschicken? Netzwerkprogrammierung 3
A FileSend - Dateien verschicken Netzwerkprogrammierung 19
B Nachrichten über das Netzwerk verschicken Netzwerkprogrammierung 3

Ähnliche Java Themen


Oben