2010-12-13 51 views
2

Donc, fondamentalement, je veux écrire un logiciel P2P qui est capable d'envoyer des messages texte à tous les nœuds, un peu comme IRC. Quel type de réseau est-ce que je conseille d'utiliser? J'ai regardé certains dans DHT Kademlia, et il semble assez facile à mettre en œuvre, mais il ne semble pas être utile pour ce que je veux faire? Quel type de protocole utilise Skype, par exemple?P2P pour le chat et/ou la diffusion de messages

edit: et j'ai oublié de le mentionner, il ne doit pas nécessairement y avoir de messagerie instantanée, une latence de plusieurs minutes est plus qu'acceptable. Je ne pense pas que je pourrais essayer continuellement d'obtenir les données correspondant à l'heure actuelle toutes les cinq minutes ou quelque chose sur tous les nœuds?

+0

S'il est possible de le faire avec DHT, ce serait préférable car il semble être le type le plus couramment implémenté, et a donc plus de documentation. Si possible, comment cela serait-il fait? – jondoe

Répondre

0

Quel type de réseau est-il recommandé d'utiliser?

Si Java est une option pour vous, vous devez étudier le JXTA et les messages propagés. J'ai regardé certains dans DHT Kademlia, et il semble assez facile à mettre en œuvre, mais cela ne semble pas être utile pour ce que je veux faire? DHT vous indique où sont vos informations (c'est-à-dire quel nœud), mais ne vous indique pas comment y accéder et le transférer. Ce dernier problème est assez technique et implique la traversée NAT et l'implémentation de TURN ou STUNT P2P.

1

Vous dites "tous les nœuds".

Si vous voulez une fonctionnalité de diffusion, je suggère d'utiliser Freepastry. Jetez un oeil au tutoriel scribe ici. J'ai utilisé la pâtisserie gratuite comme application de partage de fichiers et j'ai effectué pas mal de tests de performance. C'est très facile à mettre en œuvre et c'est très fiable. Fonctionne très bien dans mon expérience.

+0

Merci, je vais jeter un coup d'oeil! –

+0

Bonjour ... Vous l'avez fait dans Android ou JAVA? J'essaie de mettre en œuvre la même chose dans Android, en Java, il est très bien, mais la création de problème dans Android. –