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

Android Discussion :

jeu réseau décentrailisé : c'est possible ?


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 855
    Par défaut jeu réseau décentrailisé : c'est possible ?
    Bonjour,

    Je voulais pour ma première application Android faire un jeu de carte en réseau.
    La question que je me pose est "est-on obligé de mettre en place un serveur pour ce type d'application ?"... est-ce qu'il y aurait des systèmes simples pour mettre en place une gestion décentralisée de la communication réseau ? Comment connecter les différents utilisateurs entre eux ?

    Merci d'avance

    Pour info, j'ai des connaissances en langage C, Java, HTML/Javascript, SQL mais je n'ai jamais développé d’application Android

  2. #2
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    oui c'est "possible" mais ce n'est pas forcément le plus pratique

    quand on a un serveur central, tous les clients se connectent (connexion sortante généralement non limitée) sur le serveur qui répète l'information à tous les participants.

    quand on n'a pas de serveur central, il faut répondre à plusieurs problèmes:
    1- comment connaitre l'adresse IP des autres clients ?
    2- comment établir la connexion entrante sur ces clients

    le client lui-même peut ne pas connaitre son adresse IP publique car il est généralement sur un réseau local, mais le protocole STUN permet de déterminer l'adresse publique de la box.

    pour retrouver le client sans serveur central, c'est assez compliqué, donc soit les clients s'échangent une info via mail, SMS... soit il faut s'appuyer sur un réseau p2p, c'est ce que font les Torrent par exemple, mais c'est pas simple à mettre en place

    ensuite les connexions entrantes ne sont généralement pas configurées, il est cependant possible de passer par UPnP pour configurer sur la box une redirection de port afin qu'une connexion sur l'adresse IP publique obtenue par STUN sur un port donné soit redirigé sur l'adresse IP locale du mobile.

    et finalement, supporter la connexion des X autres participants sur un seul mobile peut ne pas être optimal.

    Evidemment c'est plus simple si les mobiles sont sur le même réseau, une simple requête UDP permet de détecter les autres mobiles et un broadcast UDP permet à chaque participant d'envoyer un message unique à tous les autres.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    le client lui-même peut ne pas connaitre son adresse IP publique car il est généralement sur un réseau local, mais le protocole STUN permet de déterminer l'adresse publique de la box.
    Sans compter que très généralement en 3G/4G sur les réseau classique les opérateurs font du NAT (une ip de sortie sur internet pour plusieurs mobile) et que donc il devient très difficile de pouvoir se connecter réellement à un smartphone. La solution au problème c'est les abonnements M2M mais aucun particulier n'en souscris.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par grunk Voir le message
    Sans compter que très généralement en 3G/4G sur les réseau classique les opérateurs font du NAT (une ip de sortie sur internet pour plusieurs mobile) et que donc il devient très difficile de pouvoir se connecter réellement à un smartphone. La solution au problème c'est les abonnements M2M mais aucun particulier n'en souscris.
    oui et faire un serveur IP sur du 3G/4G, faut pas avoir froid aux yeux
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 855
    Par défaut
    Merci pour vos réponses. Mon but premier était d'avoir un système de connexion gratuite (pas de serveur à payer)... mais on va rester sur du classique vu la complexité du truc.

    J'ai vu des applications mobiles qui lorsque l'on se connectait au serveur, créent automatiquement un compte sans demander de login et de mot de passe : comment ça fonctionne exactement ? sur quoi le serveur se base pour identifier le smartphone ?
    Aussi quel mécanisme faut-il privilégier pour pouvoir inviter ses amis (le système le plus simple à mettre en place et le plus efficace) ? sms, messenger, whatsapp, système intégré directement dans l'application, autre ?

    Coté serveur, le plus simple est de faire un serveur php, non ?

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Citation Envoyé par boboss123 Voir le message
    J'ai vu des applications mobiles qui lorsque l'on se connectait au serveur, créent automatiquement un compte sans demander de login et de mot de passe : comment ça fonctionne exactement ? sur quoi le serveur se base pour identifier le smartphone ?
    En général elle se base sur un identifiant unique que l'on peu récupérer.
    Voir cet article par exemple :
    https://android-developers.googleblo...allations.html

    Citation Envoyé par boboss123 Voir le message
    Aussi quel mécanisme faut-il privilégier pour pouvoir inviter ses amis (le système le plus simple à mettre en place et le plus efficace) ? sms, messenger, whatsapp, système intégré directement dans l'application, autre ?
    Ce qui se fait beaucoup dans les jeux c'est d’inciter au partage sur les réseaux sociaux en échange de récompense. Si tu permet de crée des comptes via ces même réseaux sociaux , tu dois pouvoir récupérer les liste d'amis et envoyer des invites ou un truc du genre.J'éviterais l'accès direct aux contact du téléphone qui généralement sera refusé.

    Citation Envoyé par boboss123 Voir le message
    Coté serveur, le plus simple est de faire un serveur php, non ?
    Ca va dépendre de ce que fait ton serveur.
    Pour toute la partie "administrative" gestion de compte , notification etc ... je te conseil plutôt de te baser sur une solution comme firebase qui va grandement te faciliter la vie. (il y'a un équivalent chez amazon et probablement des trucs autohébergeable aussi).
    Pour la partie jeux c'est plus délicats. CA va dépendre du type de jeux mais généralement on va plus aller sur un serveur C++/C#/java pour ce genre de chose.
    Google propose aussi des solutions pour le jeux temps réel : https://developers.google.com/games/...imeMultiplayer
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/02/2018, 10h43
  2. Réponses: 8
    Dernier message: 25/09/2012, 14h03
  3. Réponses: 0
    Dernier message: 31/05/2011, 10h01
  4. Réponses: 1
    Dernier message: 13/10/2010, 20h37
  5. Réponses: 19
    Dernier message: 10/04/2007, 14h27

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