![]() |
|
Register | FAQ | The Twelve Commandments | Members List | Calendar | Arcade | Find the Best VPN | Today's Posts | Search |
Connection Problems Problems getting the LimeWire or WireShare program connecting to the Gnutella network.
(not about connecting to files, that is a Download/Upload Problems section issue.) Please supply system details as described in the forum rules.
Start here Suggestions to help you get connected, * try here first *, then see below (click on 'this' blue link) Did you FORGET something BEFORE you posted? If you post in this section you MUST provide these details: System details - help us to help you (click on 'this' blue link), else do not be surprised if your posting is ignored :) |
![]() |
| LinkBack | Thread Tools | Display Modes |
| |||
![]() I am testing initial connection to Gnucleus 1.8.4.0 with my limewire Client. I'v notice I must send "GNUTELLA/0.6 200 OK" very quick, right after the 200 ok response. other wise I can't set up the connection to Gnucleus. First I was wondering it is timer issue, after I check the source code(CGnuNode::OnReceive) and change the timeout value, it is the same. CAsyncSocket::OnReceive didn't get invoked at all. Can anybody help me on it? private void connectToServer() { try { socket = new Socket(InetAddress.getLocalHost(), SERVER_PORT); row_in = socket.getInputStream(); in = new BufferedReader(new InputStreamReader (socket.getInputStream())); out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream())); } catch(IOException e) { System.out.println("CLIENT: Cannot connect to server"); System.exit(-1); } try { sendString("GNUTELLA CONNECT/0.6"); sendString("User-Agent: limewire"); sendString("X-Ultrapeer: False"); sendString("X-Query-Routing: 0.1"); sendString("Uptime: 1D 00H 00M"); sendString("Remote-IP: 192.168.0.4:7000\r\n"); String response = in.readLine(); System.out.println("read = " + response); //if I send response here, it works //sendString("GNUTELLA/0.6 200 OK\r\n"); while( response != null ){ response = in.readLine(); System.out.println("read = " + response); } //if i put it here, it doesn't work sendString("GNUTELLA/0.6 200 OK\r\n"); .... ... private void sendString(String s) throws IOException { out.println(s); out.flush(); } |
| |||
![]() Your headers are not HTTP compliant. java's println(String) functions just append a newline character '\n' to the string. The correct way to terminate a HTTP header line is appending a carriage return and than a newline to the line: '\r\n'. The while loop is not going to work properly either. The correct while loop should be: while (!response.equals("")) { if (response == null) { throw new IOException("reading null indicates an error"); } ... } Java's readLine functions block until they read a non-null string. If readLine() cannot read a string it throws an IOException (either because the connection failed or because you specified a read timeout by setting Socket.soTimeout(int != 0). I don't know the gnucleus sources but that was not the problem keeping you from connecting. The code opening the socket appears to be correct so Gnucleus should at least notice the connection attempt. If you have any further questions feel free to mail me ( gregorio at gmx.li ) or subscribe to the limewire devel mailinglists at www.limewire.org ( dev@core.limewire.org is the place to go for questions like this).
__________________ Morgens ess ich Cornflakes und abends ess ich Brot Und wenn ich lang genug gelebt hab, dann sterb ich und bin tot --Fischmob |
![]() |
| |
![]() | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
connection issue | xcxcxskater21 | Connection Problems | 1 | March 18th, 2007 05:25 PM |
Connection Issue | Manifest0 | Help & Support | 0 | March 12th, 2007 09:36 AM |
Connection Issue...Again | omination | Host Connections | 2 | December 14th, 2006 03:19 PM |
Connection Issue | Ace120X | Connection Problems | 3 | July 7th, 2006 11:11 AM |
yet another connection issue | KyoZero | Connection Problems | 8 | April 23rd, 2005 10:03 AM |