Je vais implémenter des fonctionnalités réseau pour le jeu sur lequel je travaille actuellement, maintenant je me demande si je dois implémenter le support IPv6 ou si le simple fait de prendre en charge IPv4 suffit?
la source
Je vais implémenter des fonctionnalités réseau pour le jeu sur lequel je travaille actuellement, maintenant je me demande si je dois implémenter le support IPv6 ou si le simple fait de prendre en charge IPv4 suffit?
Votre question, comme spécifié, est beaucoup trop large pour être répondue. La réponse dépend de savoir ce que vous êtes en train de faire avec la mise en réseau.
Par exemple, si toute votre mise en réseau se fait via HTTP et des protocoles similaires, la prise en charge IPv6 est suffisamment simple pour que ce ne soit pas vraiment un problème. Vous pourriez probablement le gifler ensemble en une demi-journée environ. Dans ce cas, il n'y a vraiment aucune raison de ne pas le faire.
Cependant, si vous faites un réseau peer-to-peer sur UDP, où vous essayez de presser chaque bit dans chaque paquet, alors IPv6 n'est pas une chose mineure. Il a un en-tête de paquet plus grand que IPv4, par nécessité. Cela signifie donc moins d'espace par paquet pour vos données. Cela peut signifier que vous devez utiliser une plus grande compression ou réévaluer la quantité de données que vous envoyez ou autre chose.
Je dirai ceci: vous devez laisser l'option disponible. Examinez la conception de votre système de mise en réseau et assurez-vous que vous ne faites rien qui, du point de vue de l'architecture, rendra la mise en œuvre d'IPv6 plus difficile qu'elle ne devrait l'être.
Les adresses IP doivent être dans un type qui pourrait stocker une adresse IPv6, par exemple. Votre interface avec la couche socket doit être suffisamment abstraite pour que l'acte de base d'envoi de paquets (si votre application le fait) soit le même sur IPv6 que sur IPv4.
IPv6 arrive, et si vous voulez vraiment sortir un jeu avec un réseau, au moins avoir un plan pour le supporter est une bonne idée.
La réponse courte pour ce cas particulier serait "Non". La réponse longue serait "Est-ce susceptible de déterminer le succès ou l'échec de votre jeu"? À ce moment-là, le support IPv6 sera un must, vous pouvez le mettre à jour assez facilement, n'est-ce pas?
Si c'est simplement une question d'intérêt personnel, vous pouvez absolument essayer d'implémenter le support IPv6. Mais, pour moi, il vaut mieux passer ce temps à améliorer le jeu.
PS Je suis presque sûr que la plupart des grands fabricants de jeux incluent déjà le support IPv6 pour leurs jeux, mais c'est une autre histoire.