Hallo,
ik zit een beetje te klooien om verbinding te maken met het Gnutella netwerk via Java. Op internet heb ik de documentatie opgezocht en zoals daaruit blijkt is een simpele verbinding maken heel eenvoudig.
Zier hier voor de docs....
Het komt er dus op neer dat je een:
GNUTELLA CONNECT/0.4\n\n
moet sturen naar een Gnutella servent om een verbinding te maken. Daarna kun je een:
GNUTELLA OK\n\n
terug verwachten en begint het echte werk.
Maar natuurlijk werkt dit bij mij niet
Ik krijg geen antwoord terug van de servent (peer).
In grote lijnen doe ik het volgende:
//De handshake string
String connect = "GNUTELLA CONNECT/0.4\n\n";
//Maak een outputstream die de text verzendt als ASCII. (peer is de socket)
OutputStreamWriter out = new OutputStreamWriter(peer.getOutputStream(),"US-ASCII");
//Een buffered reader om het antwoord uit te lezen.
BufferedReader in = new BufferedReader(new InputStreamReader(peer.getInputStream()));
//Nadat de socket is verbonden met de servent kan de handshake worden gedaan.
out.write(connect);
//Draai een thread met while loop waarin alle berichten van de servent kunnen worden ontvangen.
input = in.readLine();
Ondanks mijn sublieme programmeer-skillz werkt t toch niet!
Ik heb het vermoeden dat de ontvangende partij de handshake string niet goed als ASCII ontvangt, en daarom geen antwoord geeft.
Iemand suggesties? Thanx
ik zit een beetje te klooien om verbinding te maken met het Gnutella netwerk via Java. Op internet heb ik de documentatie opgezocht en zoals daaruit blijkt is een simpele verbinding maken heel eenvoudig.
Zier hier voor de docs....
Het komt er dus op neer dat je een:
GNUTELLA CONNECT/0.4\n\n
moet sturen naar een Gnutella servent om een verbinding te maken. Daarna kun je een:
GNUTELLA OK\n\n
terug verwachten en begint het echte werk.
Maar natuurlijk werkt dit bij mij niet
Ik krijg geen antwoord terug van de servent (peer).
In grote lijnen doe ik het volgende:
//De handshake string
String connect = "GNUTELLA CONNECT/0.4\n\n";
//Maak een outputstream die de text verzendt als ASCII. (peer is de socket)
OutputStreamWriter out = new OutputStreamWriter(peer.getOutputStream(),"US-ASCII");
//Een buffered reader om het antwoord uit te lezen.
BufferedReader in = new BufferedReader(new InputStreamReader(peer.getInputStream()));
//Nadat de socket is verbonden met de servent kan de handshake worden gedaan.
out.write(connect);
//Draai een thread met while loop waarin alle berichten van de servent kunnen worden ontvangen.
input = in.readLine();
Ondanks mijn sublieme programmeer-skillz werkt t toch niet!
Ik heb het vermoeden dat de ontvangende partij de handshake string niet goed als ASCII ontvangt, en daarom geen antwoord geeft.
Iemand suggesties? Thanx