View Single Post
  #1 (permalink)  
Old March 14th, 2003
mjin
Guest
 
Posts: n/a
Default connection issue

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();
}
Reply With Quote