IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Jeu en réseau: comment faire? [Borland c++]


Sujet :

C++Builder

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 85
    Points
    85
    Par défaut Jeu en réseau: comment faire? [Borland c++]
    Bonjour,

    J'utilise en ce moment les composants Indy (sockets UDP) de Borland. J'utilise les sockets UDP, car les composants TCP/IP ne permettent pas d'envoyer des infomations assez rapidement, pour gérer la possition d'un bonhomme par exemple.
    Cepandant, ce composant ne permet pas de passer les routers... Connaisez-vous d'autres solutions?

    Merci d'avance.

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Ne permet pas de passer les routeurs????
    Avant de poster : FAQ, tutos, rechercher, google, ... Après :
    Merci

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 85
    Points
    85
    Par défaut
    oui, on ne peut que jouer dans un réseau local.

  4. #4
    Membre averti
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Points : 360
    Points
    360
    Par défaut
    Rien n'empêche a priori les paquets UDP de franchir les routeurs, c'est ainsi que les requêtes DNS se font, par exemple. Le blocage est ailleurs.
    RAD Studio 10.3 / Ubuntu 20.04 - RYZEN 7 2700X - 24Go de RAM

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 85
    Points
    85
    Par défaut
    Dans mon cas, sa ne marche pas.
    J'ai un formulaire pour créer un serveur de jeu. J'aimerais que le client puisse voir automatiquement tous les serveurs locaux existants, comme dans tous les jeux réseaux: est-ce possible?

  6. #6
    Membre averti
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Points : 360
    Points
    360
    Par défaut
    Je ne vois pas, pour cela, d'autre solution qu'un serveur centralisant les informations qui soit interrogé par les différentes machines. Ne pas oublier qu'il n'y a pas d'accusé de réception en UDP (c'est pour ça que ça va plus vite), pas de connexion persistante. Par contre, rien ne t'empêche d'utiliser UDP et TCP dans la même application en fonction des besoins. C'est ce que j'ai été amené à faire pour WinLanMessage.
    RAD Studio 10.3 / Ubuntu 20.04 - RYZEN 7 2700X - 24Go de RAM

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 85
    Points
    85
    Par défaut
    Effectivement, j'ai choisi UDP pour la vitesse. Je n'arrive malheureusement pas a télécharger Win Lan Message, mais comment as tu fais pour recenser les ordinateurs?

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Pour recenser les ordinateurs :
    - soit tu fais un protocole P2P mais ça ne se fait pas en 2 minutes et il y a beaucoup de théorie derrière, donc je pense que c'est une très mauvaise solution pour ton cas
    - soit tu utilise un serveur central (internet) sur lequel chaque serveur de jeu devra se connecter pour indiquer qu'il existe et récupérer la liste des serveurs
    - pour faire une découverte en local des serveur, un message sur le broadcast du réseau devrait faire l'affaire

    TCP est trop lent, peut être, mais alors j'espère que tu as pensé au fait q'UDP ne garanti pas l'ordre d'arrivé des paquets. Ce serait embettant que ton jeu prenne en compte un paquet qui a un position qui date d'il y a 10 secondes.....

    Utilise aussi un outil comme ethereal pour mesurer le traffic réseau généré par ton jeu et le comparer peut être à d'autres pour voir si tu n'as pas un petit problème de conception des données transmises...
    Neilos

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 85
    Points
    85
    Par défaut
    Merci pour ta réponse. Je pense que je vais opter pour le serveur cental, mais dans ce cas, je dois trouver un ordi avec une ip fixe et le laisser tourner 24h/24h ?

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    L'idéal serait de prendre un hébergement mutualisé chez OVH par exemple avec PHP et une base de donnée. Tu n'a même pas besoin d'un nom de domaine.

    Tu écris un petit webservice qui publie les fonctionnalités : publier un serveur et récupérer la liste des serveurs et ça tourne.

    Tu penses pouvoir faire cela ?
    Neilos

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 85
    Points
    85
    Par défaut
    pour l'hébergement, pas de prob: je possède déjà un site. J'utilise ensuite un composant mysql pour enregistrer les infos des serveurs? C'est sa?
    Tout cela n'est possible que si on a une connexion internet... J'aimerais une autre solution en LAN.

  12. #12
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Citation Envoyé par chm0105
    J'utilise ensuite un composant mysql pour enregistrer les infos des serveurs? C'est sa?
    Non tu utilise ta base de donnée via un service WEB. Regarde les tutoriels sur SOAP. Un accès direct depuis ton programme impliquerais stocker le pass de ta base dans le programme ce qui est très très mauvais.

    Citation Envoyé par chm0105
    Tout cela n'est possible que si on a une connexion internet... J'aimerais une autre solution en LAN.
    Tu as lu ce que je t'ai écris ? Pour le réseau local il faut envoyer un message de "découverte" sur le broadcast du réseau (adresse IP en x.x.x.255). Ca fonctionne comme un ping spécifique à tes serveurs de jeux en réseau...
    Neilos

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 85
    Points
    85
    Par défaut
    ok, merci pour ton aide , je vais tester tout sa...

  14. #14
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Pas de problème et n'hésite pas à nous faire un retour sur expérience.
    Au fait, par simple curiosité, c'est quel type de jeu sur lequel tu travaille ?
    Neilos

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 85
    Points
    85
    Par défaut
    on a fait (commencé) avec un ami un jeu style GTA en OpenGl (3D) avec des piétons, des voitures,...
    Images attachées Images attachées  

  16. #16
    Membre averti
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Points : 360
    Points
    360
    Par défaut
    Citation Envoyé par chm0105
    comment as tu fais pour recenser les ordinateurs?
    Un programme tourne sur chacun des micros qui écoute sur un port donné les requêtes que lui adressera le programme qui veut envoyer un message.
    RAD Studio 10.3 / Ubuntu 20.04 - RYZEN 7 2700X - 24Go de RAM

  17. #17
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Sympathique
    Bon courage !
    Neilos

Discussions similaires

  1. Application réseau comment faire?
    Par BESSAAD dans le forum Bases de données
    Réponses: 11
    Dernier message: 10/03/2014, 23h06
  2. Cartographie réseau comment faire ?
    Par bugu57 dans le forum Développement Windows
    Réponses: 2
    Dernier message: 08/12/2012, 01h30
  3. [AC-2007] Sur Réseau - comment faire ?
    Par CrasherSEP dans le forum IHM
    Réponses: 9
    Dernier message: 18/11/2010, 11h35
  4. Jeu en réseau possible ? Comment faire ?
    Par ShadowTheAlone dans le forum Développement
    Réponses: 9
    Dernier message: 03/07/2005, 12h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo