Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

31

24.01.2014, 19:01

Ein Ping ist recht leicht umzusetzen.
Du schickst ein Packet mit der aktuellen Zeit zum Client und lässt ihn das Packet sofort wieder zurückschicken. Wenn es zurück kommt berechnest du einfach die Differenz zur aktuellen Zeit und schon hast du die Antwortzeit.
Das schätzen der Zeit für den Hin- bzw. Rückweg ist schon etwas aufwändiger. Man könnte einfach die Hälfte nehmen, aber je genauer die Schätzung, desto besser kannst du extrapolieren. Denk immer daran, dass die Uhren der Rechner niemals Synchron laufen.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

32

24.01.2014, 19:48

Zitat

Wie viele UDP-Pakete (char[10]) kann der entsprechende Rechner mit dem Serverprogramm empfangen und senden (2x wegen 2 Clients) wenn er angenommen 50mbits Downloadgescheindigkeit hat?

Du kannst nicht von der maximalen Bandbreite ausgehen. Ich würde erstmal mit einem Zehntel oder deutlich weniger schätzen. 5.000.000 Bit pro Sekunde. Ein char ist 8 Bit groß. Den Rest lernt man in der Vorschule^^

Lösung: Eine ziemlich große Anzahl.
Neues Problem: Der Traffic steigt Quadratisch mit der Anzahl der Spieler, die gleichzeitig miteinander interagieren können.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

33

27.01.2014, 11:20

Mit dem Ping meinte ich es eher so, dass du deinen PC und den Server hast, mit dem er verbunden sein soll, und dann über ping (über die Konsole) mit entsprechenden Parametern ein paar hunderte Pings versendest. Anhand der Verlustrate könntest du dann darauf schließen, wie hoch die Verlustrate später ungefähr sein könnte.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

34

27.01.2014, 11:57

Wäre es nicht einfacher die regulären Packete auf Client und Server zu zählen und regelmäßig die Differenz auszurechnen? Damit hätte man immer aktuelle Daten und keinen überflüssigen Traffic.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

35

27.01.2014, 14:31

Du gehst davon aus, dass das Spiel implementiert ist und die Latenz ermittelt werden soll, ich wollte ihm aber nur eine Möglichkeit nennen, wie er bereits vorher zu einer Antwort für sein Problem kommen kann. (Sollte dein letzter Beitrag nur eine Ergänzung zu deinen eigenen Beiträgen sein und keine Antwort auf meinen darstellen, kannst du diesen hier ignorieren. ;) )
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Werbeanzeige

Ähnliche Themen