Gnutella Forums

Gnutella Forums (https://www.gnutellaforums.com/)
-   General Gnutella Development Discussion (https://www.gnutellaforums.com/general-gnutella-development-discussion/)
-   -   Who give me a Descriptor ID? (https://www.gnutellaforums.com/general-gnutella-development-discussion/10021-who-give-me-descriptor-id.html)

Cerebro April 3rd, 2002 03:52 AM

Who give me a Descriptor ID?
 
Each servent must to have a Descriptor ID, right? But how can I get it?

Thanks.

guido April 3rd, 2002 04:41 AM

Use a random number generator. If you are using Linux, just read 16 bytes from /dev/urandom.
There are some plans, however, to make this GUID tag more descriptive.
See http://rfc-gnutella.sourceforge.net/...ID-Tagging.htm
for details.

Guido

Cerebro April 3rd, 2002 04:46 AM

Thank you, Guido

Pferdo April 4th, 2002 02:15 AM

interested in VB-Code?
 
hi, here's "my" code for this "problem"... should even be understood by C programmers ;)


Public Function GetRandomGUID() As String

Dim intIndex As Integer

Randomize Timer
For intIndex = 1 To 16
GetRandomGUID = GetRandomGUID + Chr$(CInt(Rnd * 255))
Next
End Function

CU

Unregistered April 5th, 2002 04:41 AM

search getguid in the msdn there's a source code

Smilin' Joe Fission April 5th, 2002 09:21 AM

Specifically, there is a Windows API function called "CoCreateGUID".

Whether you use the Windows API function or generate a string of random numbers, either way is just as easy.

TorKlingberg April 9th, 2002 03:28 AM

Message ID: A 16-byte string uniquely identifying the message
on the network.

Servants SHOULD store all 1's (0xff) in byte 8 of the
GUID. (Bytes are numbered 0-15, inclusive.) This
serves to tag the GUID as being from a modern servant.

Servants SHOULD initially store all 0's in byte 15 of
the GUID. This is reserved for future use.

The other bytes SHOULD have random values.


Don't mess it up with the Servant identifier in Query Hit and Push messages.

Servant Identifier. A 16-byte string uniquely identifying the responding servant on the network. This SHOULD be constant for all Query Hit messages emitted by a servant and is typically some function of the servant's network address. The servant Identifier is mainly used for routing the Push Message

Pferdo April 9th, 2002 04:38 AM

... limewire
 
hi,
this is just a limewire proposal and as far as i know it isn't used beacause all these things can be done with the 0.6 handshake.


here some lines (0.6 specification):
.......
Lime Wire LLC had proposed using the GUIDs of initial ping requests as
a form of protocol versioning. For example, the last byte of the GUID
of the first message by a client would be 0 if the client spoke the
"Gnutella 0.5" protocol, 1 if the client spoke the "Gnutella 0.6"
protocol, etc. While this scheme is backwards- compatible, it is
imperfect. First, it does not provide ways for clients to support
different combinations of protocol extensions. If, for example,
clients at the "0.6" level were to support QRP and pong-caching, a
servent would be required to implement both. Second, this scheme
places a burden on the servent implementer. For example, a servent
trying to accept only connections with QRP support must put new
connections on "probation" until it has received the initial ping.
.......

CU


All times are GMT -7. The time now is 09:22 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

Copyright © 2020 Gnutella Forums.
All Rights Reserved.