A ClientHello message must be the first message sent from the client to the node on any given connection. The node will respond with a NodeHello message. No other messages are allowed to be sent to the node before the ClientHello is sent.
ClientHello Name=My Freenet Client ExpectedVersion=2.0 EndMessage
|Name||Arbitrary string, on one line||yes||A name to uniquely identify the client to the node. This is used for persistence, so a client can see the same local queue if it disconnects and then reconnects. If a connection is attempted with the same name as an existing connection, the first connection will be disconnected with a CloseConnectionDuplicateClientName message.|
|ExpectedVersion||2.0||yes||The version of FCP to expect. In this case it will always be 2.0, but in the future clients may want to check if the node supports later versions. We do not do anything with ExpectedVersion yet, but it may be verified in the future.|