Re: Re: Implementing a Gnutella-structured network only with basic HTTP possible?Date: Wed, 24 Feb 2010 09:08:15 +0000 (UTC)Date: Fri, 26 Feb 2010 12:55:15 +0000 (UTC)
Arne Babenhauserheide <[email protected]> Fri, 26 Feb 2010 18:48:20 +0100
| Newsgroups | gmane.network.gnutella.devel |
|---|---|
| Message-ID | <[email protected]> |
Am Freitag, 26. Februar 2010 13:55:16 schrieb [email protected]: > Perhaps one way to go would be to invent Gnutella 3.0 (I believe 2 has been > taken) and make sure we produce "hybrid" servents that can continue to use > the Gnutella network protocol but can also talk the new protocol. Whar would have to change to make the protocol neatly layered, and how could that be done in a way which makes it possible to reuse as much of the existing functionality as possible? I always saw Gnutella more from the user perspective, and in that it looks faily well seperated: - bootstrap = get the first connections. - connection with UP/Leaf, DQ, QRP, … for tag based searching. - connection with DHT for exact match searching. - file transfer with download mesh and Tiger Tree Hash (that alone could rival Bittorrent if we used trackers which only provide X-Alt!). Each one of these components could provide an API to access it. Ideally it would be as simple as from gtkg import Gnutella, Dht, Download Gnutella.start() # includes bootstrap Dht.start() results = Gnutella.search_by_string("GnuFU") # (periodically check results) dl = results[25].download() dl2 = Download.magnet("magnet:?xt=…&xs=…(tracker)…&as=…(websource)…") dl3 = results[25].download_to("/home/arne/downloads/infinite-hands.ogg") # (wait) dl.status() dl.done dl2.abort() Best wishes, Arne [Non-text portions of this message have been removed]