Forum de la communauté SFML

Aide => Réseau => Discussion démarrée par: DexArio le Décembre 22, 2014, 05:27:53 pm

Titre: Question concernant UDP et le client/serveur
Posté par: DexArio le Décembre 22, 2014, 05:27:53 pm
Bonjour, je suis entrain de créer un jeu en multijouer avec une architecture client/serveur, le serveur doit gérer plusieurs clients. J'utilise 1 thread par client ainsi que les protocoles UDP et TCP. J'ai fini de programmer tout ce qui concerne TCP, ça marche très bien, je dois maintenant programmer la communication avec UDP, donc pouvoir recevoir et envoyer des paquets (je ne parle que du serveur pour l'instant). Mon problème est que je ne vois pas trop comment faire pour recevoir des paquets avec UDP. Pour TCP, il suffit de faire socket.receive() et on reçoit tout ce qui vient des clients mais avec UDP, on doit indiquer l'ip et le port du client à recevoir, je ne comprends pas trop comment je dois faire. Comment est-ce que je fais pour recevoir tout ce qui vient sur un port avec UDP ? Je précise que j'utilise 1 socket UDP pour le serveur et non pas 1 par client car j'ai cru comprendre que l'on pouvait faire comme ça. Merci.
Titre: Re : Question concernant UDP et le client/serveur
Posté par: Laurent le Décembre 22, 2014, 05:59:45 pm
Si tu regardes bien le tutoriel, la documentation et l'exemple du SDK, tu verras que tu n'as pas à donner à la fonction receive l'IP et le port du client, c'est au contraire la fonction qui te les donne. En gros, puisque n'importe qui peut t'envoyer un paquet sur le port UDP sur lequel tu écoutes, la fonction t'indique pour chaque paquet qui te l'a envoyé, de sorte que tu puisses lui répondre.

Si ce n'est toujours pas clair, regarde bien le tutoriel / la documentation / l'exemple.
Titre: Re : Question concernant UDP et le client/serveur
Posté par: DexArio le Décembre 22, 2014, 06:05:45 pm
Effectivement, j'avais mal lu le tutoriel, je suis désolé. Merci !