![]() |
|
Register | FAQ | The Twelve Commandments | Members List | Calendar | Arcade | Find the Best VPN | Today's Posts | Search |
General Gnutella Development Discussion For general discussion about Gnutella development. |
![]() |
| LinkBack | Thread Tools | Display Modes |
| |||
![]() If the node want to join the gnutella network ,it is the process called bootstrap,so where can I gain the initial nodes list to connect. I see it from the limewire wiki,it is called the GwebCache,so if I just to make my client to work with standard gnutella network,so do I need to do the same thing as the limewire client or something else? Is there any simple research gnutella client to make me understand more easily? I am a newer want to write a gnutella client from scratch. Thanks! |
| ||||
![]() To bootstrap Gnutella now uses UDP host caches, but GWebcaches work as well. Remember, though, that these must only be used if you don't have any hosts in your local host catcher (stores long lived nodes' IPs). You can try using Phex - it's already been used in some academic studies on p2p.
__________________ ![]() -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
| ||||
![]() Quote:
For an example see SourceForge.net Repository - [phex] View of /phex/trunk/src/main/java/phex/host/CaughtHostComparator.java (it shows how hosts are sorted to keep the best ones in the host catcher - this is executed extremely often!)
__________________ ![]() -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
| |||
![]() Then if we want to maintain the lists,such as to check if one host is still active,then do you use the ping/pong to check it? But I still don't understand the ping/pong affection to the gnutella network.I think there are many ways should using the ping/pong,for eample "keep alive","gain host list",but when and how to use it,such as how and when to gain host addresses by ping/pong ? I can't find some introduce about this. I see there are a few ways to gain the host lists,such as the x-try,x-untlrapeer-try when handshakeing,the pong is just one of these ways to gain the hosts list to connect to,is it right?So the host cache lists should be gained from all there ways. Last edited by hustnn; March 4th, 2010 at 05:58 PM. |
| ||||
![]() To get new hosts, just listen for Pongs ![]() And to check if someone is still alive, just connect (no use of doing these checks at other times - TCP connections are too expensive for that - and the turnaround rate too high). some more detailed info: http://gnet-specs.gnufu.net
__________________ ![]() -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
| |||
![]() The connected nodes don't need to be check use extra udp keep alive message,but I mean we know there are a local host list as you said gained from the pong message,so we also don't need to check if these nodes are still alive now? |
| |||
![]() the http://gnet-specs.gnufu.net still alive?It direct to the "http://wiki.limewire.org/index.php?title=GDF",right? But I can't find the detail of the detail of when we need use the ping/pong to gain the new hosts from that document.I just know the pong cache can gain hosts,but when to send ping of a node is not metioned in the document. why I can't connect to it,can you send me saved html file of the document to me? |
| ||||
![]() Just try connecting a second time. They seem to be a bit slow at the moment.
__________________ ![]() -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
| ||||
![]() Quote:
And that's what the code I linked to in phex does: it sorts the newcoming hosts, and phex then just keeps the top 1000 addresses. That means, you have to sort every host into your local hostcatcher and let the worst ones drop out.
__________________ ![]() -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
![]() |
| |