Ich werde Netzwerkfunktionen für das Spiel implementieren, an dem ich gerade arbeite. Jetzt frage ich mich, ob ich IPv6-Unterstützung implementieren muss oder nur Unterstützung für IPv4 ausreicht.
quelle
Ich werde Netzwerkfunktionen für das Spiel implementieren, an dem ich gerade arbeite. Jetzt frage ich mich, ob ich IPv6-Unterstützung implementieren muss oder nur Unterstützung für IPv4 ausreicht.
Ihre Frage ist, wie angegeben, viel zu weit gefasst, um beantwortet zu werden. Die Antwort hängt davon ab, zu wissen, was Sie tatsächlich mit dem Networking tun .
Wenn beispielsweise Ihr gesamtes Netzwerk über HTTP und ähnliche Protokolle erfolgt, ist die IPv6-Unterstützung so einfach, dass dies kein wirkliches Problem darstellt. Sie könnten es wahrscheinlich in einem halben Tag oder so zusammenschlagen. In diesem Fall gibt es wirklich keinen Grund, dies nicht zu tun.
Wenn Sie jedoch Peer-to-Peer-Netzwerke über UDP betreiben und versuchen, jedes Bit in jedes Paket zu quetschen, ist IPv6 keine Kleinigkeit. Es hat notgedrungen einen größeren Paket-Header als IPv4. Das bedeutet weniger Platz pro Paket für Ihre Daten. Dies kann bedeuten, dass Sie eine stärkere Komprimierung anwenden oder neu bewerten müssen, wie viele Daten Sie senden oder was auch immer.
Ich werde dies sagen: Sie sollten die Option verfügbar lassen. Sehen Sie sich das Design Ihres Netzwerksystems an und stellen Sie sicher, dass Sie nichts tun, was die IPv6-Implementierung aus architektonischer Sicht schwieriger macht als nötig.
IP-Adressen sollten innerhalb eines Typs liegen, in dem beispielsweise eine IPv6-Adresse gespeichert werden kann. Ihre Schnittstelle zur Socket-Schicht sollte abstrakt genug sein, damit der grundlegende Vorgang des Sendens von Paketen (wenn Ihre App dies tut) über IPv6 der gleiche ist wie über IPv4.
IPv6 kommt, und wenn Sie tatsächlich ein Spiel mit Netzwerk veröffentlichen möchten, ist es eine gute Idee , zumindest einen Plan zur Unterstützung zu haben.
Eine kurze Antwort für diesen speziellen Fall wäre "Nein". Eine lange Antwort wäre "Wird es wahrscheinlich den Erfolg oder Misserfolg Ihres Spiels bestimmen"? Zu diesem Zeitpunkt ist die IPv6-Unterstützung ein Muss. Sie können sie ganz einfach aktualisieren, nicht wahr?
Wenn es nur eine Frage des persönlichen Interesses ist, können Sie unbedingt versuchen, die IPv6-Unterstützung zu implementieren. Aber für mich ist es besser, diese Zeit damit zu verbringen, das Spiel tatsächlich besser zu machen.
PS Ich bin mir fast sicher, dass die meisten großen Spielehersteller bereits IPv6-Unterstützung für ihre Spiele anbieten, aber das ist eine andere Geschichte.