Je travaille actuellement sur un jeu multijoueur en ligne ac # en temps réel. L'objectif est d'avoir une connexion client / serveur utilisant le protocole UDP. Jusqu'à présent, j'ai utilisé UDP pour les mouvements des joueurs et TCP pour les événements (un joueur qui tire, un joueur qui perd la vie) parce que je dois être sûr que ces données arriveront à tous les joueurs connectés au serveur. Je sais que UDP est dit «non fiable» et certains paquets peuvent être perdus. Mais j'ai lu partout pour ne jamais mélanger TCP et UDP car cela peut affecter la connexion.
La question principale est de savoir comment dois-je organiser mon réseau?
UDP est sans connexion, comment enregistrer qui est qui? Dois-je enregistrer les adresses IP des clients dans une liste?
Dois-je utiliser TCP pour des événements importants ou utiliser UDP? Si je dois utiliser UDP, comment puis-je m'assurer que les données ne seront pas perdues?
En utilisant à la fois TCP et UDP, je dois enregistrer pour chaque joueur leur IP dans une liste (pour UDP) et le TcpClient qui est connecté dans une autre liste (pour UDP). Comment pourrais-je changer cela pour être plus efficace?