Il y a un petit dépôt explicatif sur Github, ce site a l'air de couvrir pas mal de notions, et peut-être cette vidéo (je ne l'ai pas visionné).
J'ai remarqué tes récentes interventions, et c'est très bien, cela montre que tu es impliqué(e) et que tu essayes des choses.
Cependant, tu devrais prendre un peu de temps, c'est-à-dire faire un peu de recherches par toi-même, la première chose à faire est d'aller voir la doc officielle, car tu y trouveras beaucoup d'explications.
Une bonne chose à faire serait de d'abord effectuer tes propres recherches puis éventuellement de demander un avis aux plus expérimentés sur la qualité des ressources, mais pour toutes les librairies tierces de qualité (qui apparaissent fréquemment sur le forum, et recommandées : Qt, SFML, Boost pour n'en citer que 3), la doc officielle sera toujours à considérer.
J'ai seulement les bases de SFML (mais aucune connaissance en réseau, je ne pourrai donc pas t'aiguiller davantage là-dessus).
Si j'ai bien compris, les 2 carrés s'affichent sur le PC A, dont un est contrôlé par le PC B ?
Si oui :
Je pense donc qu'il faut que tu utilises les fonctionnalités réseau pour envoyer un signal du genre flèche cliquée (on souris déplacée si tu veux l'utiliser), et que tu affiches le résultat simplement sur le PC A (avec 2 sf::RectangleShape et c'est tout ).
Il faut bien comprendre que le programme qui tourne sur "PC A" n'a aucun lien autre que l'envoie de message ou de streams avec le programme qui tourne sur le "PC B".
Le fait que ces programmes partage ne même code source et le même code compilé ne change rien.
Les informations indiquées par le "PC A" doivent être interprétable sans avoir de connaissance précise de son état interne.
Donc, il ne devrait pas fournir d'information "relatif" à son état interne, à moins de fournir aux autres programmes les informations nécessaires à reconstituer son état interne à distance, et c'est compliqué.
Concrètement, "PC A" ne devra pas indiquer la position de J1 ou J2 relativement à son état interne (position de la caméra, position du scrolling, etc...) mais relativement à un positionnement absolu, commun à tous les programmes.
C'est à chaque programme de faire les transformations pour qu'ils apparaissent correctement dans l'état interne local au programme.
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
Après beaucoup de recherches et d'entrainement, j'ai enfin réussi mon premier jeu multijoueur avec SFML Network. Mais maintenant, je me retrouve face à un autre problème. J'ai envoyé mon jeu à mes amis mais ça ne fonctionne pas sur plusieurs WI-FI.
J'ai essayé de connecter un Client sur l'adresse IP sur serveur. Au début, j'avais mis mon adresse Ipv4 vue dans le cmd. Mais j'ai découvert qu'il faut mettre l'adresse de la connexion Internet. J'ai donc mis IpAddress::getPublicAddress(), sans succès.
J'ai fait des recherches et j'ai trouvé une librairie du nom de miniupnpc. Le problème, c'est que je ne vois aucune documentation dessus. Je me demande si c'est possible de faire du UPnP avec SFML.
Pas besoin de changer de librairie ! SFML fonctionne très bien, si le programme fonctionne sur un réseau local, il peut tout à fait fonctionner sur le réseau global. Simplement, de nos jours les fournisseurs d'accès internet font en sorte de bloquer les connections des programmes inconnus. Certains programmes passent par des Well Known Ports uniquement attribués a eux même qui sont par convention ouverts sur toutes les box internet. Pour ton programme, il faut aller trifouiller dans les paramètres de sécurité de ton routeur internet et ouvrir un port. Il faut savoir cependant qu'ouvrir un port crée une faille de sécurité, c'est pourquoi sur la plupart des box modernes, il est possible d'enregistrer des restrictions sur un port manuellement ouvert (IP autorisées, machine cible permise etc...). Tout ça pour dire : pour faire marcher ton programme sur le réseau global, tu dois ouvrir le port utilisé sur la box hébergeant le serveur, mais n'oublie pas que cela crée une brèche de sécurité.
Pourquoi ne pas utiliser une de ces plateformes de développement "dans le Cloud" ?
Sinon, vous devez vous prendre le choix avec tous ces machins réseaux qui ne sont même pas sûr de fonctionner à 100% (fonction des configurations des routeurs).
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
Pourquoi ne pas utiliser une de ces plateformes de développement "dans le Cloud" ?
Sinon, vous devez vous prendre le choix avec tous ces machins réseaux qui ne sont même pas sûr de fonctionner à 100% (fonction des configurations des routeurs).
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
SFML Multijoueur
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Liens utiles pour le C++
Liens utiles pour le C++
Liens utiles pour le C++
Si vous ne trouvez plus rien, cherchez autre chose.
Si vous ne trouvez plus rien, cherchez autre chose.