2010-12-13 10 views
2

Also im Grunde möchte ich eine P2P-Software schreiben, die in der Lage ist SMS an alle Knoten zu senden, ähnlich wie IRC. Welche Art von Netzwerk soll ich verwenden? Ich habe mir DHT Kademlia angeschaut, und es scheint so einfach zu sein, es zu implementieren, aber es scheint nicht nützlich zu sein für das, was ich tun möchte. Welche Art von Protokoll verwendet Skype zum Beispiel?P2P für Chat und/oder Broadcasting Nachrichten

bearbeiten: und ich habe vergessen zu erwähnen, es muss nicht Instant Messaging sein, eine Latenz von mehreren Minuten ist mehr als akzeptabel. Ich nehme an, ich könnte nicht fortwährend versuchen, die Daten, die der aktuellen Zeit entsprechen, alle fünf Minuten oder etwas auf allen Knoten zu bekommen?

+0

Wenn es möglich ist, es mit DHT zu tun, wäre das vorzuziehen, da es der am häufigsten implementierte Typ zu sein scheint und somit mehr Dokumentation hat. Wenn möglich, wie würde es gemacht werden? – jondoe

Antwort

0

Welche Art von Netzwerk soll ich verwenden?

Wenn Java eine Option für Sie ist, sollten Sie JXTA und propagierte Nachrichten untersuchen.

Ich habe einige in DHT Kademlia gesehen, und es scheint einfach genug zu implementieren, aber es scheint nicht nützlich für das, was ich tun möchte?

DHT sagt Ihnen, wo sich Ihre Informationen befinden (d. H. Welcher Knoten), aber nicht, wie Sie darauf zugreifen und es übertragen können. Das letztere Problem ist ziemlich technisch und beinhaltet NAT Traversal und TURN oder STUNT P2P Implementierung.

1

Sie sagen "alle Knoten".

Wenn Sie Broadcast-Funktionalität möchten, würde ich Freepastry empfehlen. Sehen Sie sich das Skript-Tutorial hier an. https://trac.freepastry.org/wiki/tut_scribe

Ich habe Free Pastry als Filesharing-Anwendung verwendet und eine ganze Reihe von Leistungstests durchgeführt. Es ist sehr einfach zu implementieren und ist sehr zuverlässig. Funktioniert großartig in meiner Erfahrung.

+0

Danke, ich schaue es mir an! –

+0

Hallo ... Sie haben es in Android oder JAVA getan? Ich versuche, das gleiche in Android zu implementieren, in Java ist es gut geschrieben, aber Problem in Android erstellen. –