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

Développement Discussion :

Idée pour développer un logiciel de peer to peer


Sujet :

Développement

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Points : 137
    Points
    137
    Par défaut Idée pour développer un logiciel de peer to peer
    Bonjour tout le monde !

    Je voudrais essayer de développer un logiciel de P2P sous Windows. C'est plus par challenge que par réelle utilité. Si j'arrive à faire un truc qui tourne sur un réseau local déjà ça sera pas mal
    Au début ça sera juste pour échanger quelques fichiers entre copains.

    Avant de poser des spécifs, je voudrais savoir si des tutoriels existent sur le sujet.
    Quel langage vaut-il mieux utiliser ? (j'ai une préférence pour le Delphi)
    Est-ce qu'il est possible de faire un P2P complètement décentralisé, sans serveur, et si oui, quel est le principe de fonctionnement ?

  2. #2
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 841
    Points : 6 514
    Points
    6 514
    Par défaut
    Est-ce qu'il est possible de faire un P2P complètement décentralisé, sans serveur, et si oui, quel est le principe de fonctionnement ?
    Je pense que oui, à ce moment-là, chaque hôte jouerait le rôle de "serveur" tant qu'il serait connecté en mettant à la disposition des autres un index des fichiers téléchargeables. Chaque hôte prendrait alors une copie de cet index pour pouvoir la fournir aux autres. Une machine qui se connecte enverrait une trame broadcast pour découvrir toutes les autres machines faisant tourner le programme de P2P et en choisir une (en fonction des temps de réponse ou des hops par exemple) pour pomper l'index.
    Bien entendu, ce n'est valable QUE en réseau local, et encore pas un classe A (10.x.x.x) ! Sur Internet, oublie l'idée de broadcaster tous les ordinateurs connectés !!! C'est pour cette raison que tous les logiciels de P2P de "grande" envergure nécessitent la présence d'un serveur centralisé, d'une manière ou d'une autre : c'est une adresse unique à interroger comme point de départ pour avoir les informations voulues. Ca me fait toujours rire quand j'entends des pubs pour logiciels P2P "sans serveur", ça n'a pas de sens, il en faudra toujours un !

  3. #3
    Membre expérimenté
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Points : 1 428
    Points
    1 428
    Par défaut
    Pourquoi oublier internet ?

    Il suffit qu'une personne (ou des) possede une adrese ip fixe. Il pourra ainsi jouer le role de serveur (et client aussi).
    Mais si vous n'avez ps d'ip fixe ca devient plus embetant , car il faudra connaitre son ip pour se connecter.

    Le choix du langage depend vraiment de tes gouts, tu peux tres bien le faire en C, C++, perl ou delphi. (Et regarder du cote des sockets)

    A toi de voir.

  4. #4
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 841
    Points : 6 514
    Points
    6 514
    Par défaut
    Je n'ai pas dit d'oublier Internet, mais que dans ce cas on ne peut pas se passer de serveur fixe (ou d'une liste d'adresses fixes).
    Le problème de l'IP dynamique est résolu par les dns dynamiques comme http://www.dyndns.org.

    Concernant le langage, c'est égal en effet, et il faudra de fait passer par les sockets. Delphi est paraît-il assez rapide, donc pourquoi pas ? Maintenant si c'est pour faire un gros serveur internet, je ne prendrais pas cet environnement de dev (trop lourd), mais je ne pense pas que ce soit le but visé, donc no souci

  5. #5
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    salut,

    Citation Envoyé par ovh
    Est-ce qu'il est possible de faire un P2P complètement décentralisé, sans serveur, et si oui, quel est le principe de fonctionnement ?
    Je pense que oui, à ce moment-là, chaque hôte jouerait le rôle de "serveur" tant qu'il serait connecté en mettant à la disposition des autres un index des fichiers téléchargeables. Chaque hôte prendrait alors une copie de cet index pour pouvoir la fournir aux autres.
    Mais comment on fait quand on se connecte pour connaitre les adresse IP de ceux déjà connecter pour récupérer le fichier ?

    Je pense que tu peux créer un site PHP, par exemple sur free.fr qui se chargera de faire le serveur.
    Par exemple tu te connecte sur http://perr2perr.free.fr/connect.php?login=...&passwd=....

    et les site te renverra quelque chose du genre :

    @126.241.132.155 toto
    @146.231.112.175 titti
    @144.237.114.171 tata

    et après tu fais un tour de tout les connectés pour récupérer les liste des fichiers téléchargeable

  6. #6
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 841
    Points : 6 514
    Points
    6 514
    Par défaut
    Mais comment on fait quand on se connecte pour connaitre les adresse IP de ceux déjà connecter pour récupérer le fichier ?
    Il faut envoyer une trame en broadcast sur le LAN. Le broadcast est une adresse réseau spéciale (le numéro d'hôte a tous ses bits à 1), qui fait que toutes les machines connectées au LAN reçoivent le paquet. C'est le principe même des serveurs de jeux locaux, et de leur "découverte" par tous les PC clients connectés sur le réseau.

    L'idée de se servir du protocole HTTP pour faire serveur est intéressante, car ça simplifie nettement son implémentation. Mais ceci n'est pas valable pour le système voulu par notre ami Jibees puisqu'il voulait se cantonner à un réseau local sans serveur.

Discussions similaires

  1. Recherche d'un IDE pour développer sur Mac OS
    Par frankmartin2004 dans le forum C#
    Réponses: 3
    Dernier message: 21/03/2009, 11h46
  2. Besoin d'aide pour développer un logiciel/pda
    Par snoooz dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 30/07/2008, 15h50
  3. Réponses: 0
    Dernier message: 21/03/2008, 12h44
  4. Choix d'un langage pour développer un logiciel de calcul
    Par Maverick27 dans le forum Langages de programmation
    Réponses: 11
    Dernier message: 31/01/2007, 00h23
  5. Quel langage pour développer un logiciel de télétransmission
    Par gidebo dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 28/08/2003, 15h19

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