<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2838" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=723535612-18052006>How can&nbsp;I get 
the right list of IPs and ports from the tracker? My current implementation 
seems to be wrong.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=723535612-18052006>I send the right 
HTTP get request to the tracker and i get the </SPAN></FONT><FONT face=Arial 
size=2><SPAN class=723535612-18052006>right tracker announce. 
</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=723535612-18052006>I read the tracker 
announce via an URLConnection and a DataInputStream and write the InputStream to 
a byte array. Than, I convert the</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=723535612-18052006>whole byte array to 
an int array.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=723535612-18052006>I know, that 
</SPAN></FONT><FONT face=Arial size=2><SPAN class=723535612-18052006>the first 
part of the tracker announce is a bencoded ASCII character set and the second 
part&nbsp;simply consists of</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=723535612-18052006>binary data.&nbsp;I 
convert the binary part in&nbsp;Ip address and port number&nbsp;consisting of 4 
Byte for the Ip and 2 Byte for the port. what's wrong with 
that?</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=723535612-18052006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=723535612-18052006>The method below 
begins to work after the last ":" of the ascii part</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=723535612-18052006>&nbsp;<BR>&nbsp;public static void 
convertBinaryPartOfInputArray(int[] a) {<BR>&nbsp;&nbsp;int i = 
arrayIndex+1;<BR>&nbsp;&nbsp;while(i &lt;= a.length-1) 
{<BR>&nbsp;&nbsp;&nbsp;userID += 1;<BR>&nbsp;&nbsp;&nbsp;if(a[i] == 0) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;System.out.println("IP: 
"+UsualMethods.ipBuilder(a[i], a[i+1], a[i+2], 
a[i+3]));<BR>&nbsp;&nbsp;&nbsp;System.out.println("Port: 
"+UsualMethods.portBuilder(a[i+4], 
a[i+5]));<BR>&nbsp;&nbsp;&nbsp;...</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=723535612-18052006>&nbsp;&nbsp;&nbsp; i 
= i+6;<BR>&nbsp;&nbsp;}<BR>&nbsp;} // end of 
convertBinaryPartOfInputArray</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=723535612-18052006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=723535612-18052006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=723535612-18052006>public static String 
ipBuilder(int one, int two, int three, int four) {<BR>&nbsp;&nbsp;return 
Integer.toString(one)+"."+Integer.toString(two)+"."+<BR>&nbsp;&nbsp;&nbsp;&nbsp;Integer.toString(three)+"."+Integer.toString(four);<BR>&nbsp;} 
// end of ipBuilder</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=723535612-18052006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=723535612-18052006>public static String 
portBuilder(int one, int two) {<BR>&nbsp;&nbsp;return Integer.toString((one 
&lt;&lt; 8) + two);<BR>&nbsp;} // end of portBuilder</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=723535612-18052006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=723535612-18052006>I hope someone can 
help me out.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=723535612-18052006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=723535612-18052006>greets</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=723535612-18052006>Philipp 
Deutscher</SPAN></FONT></DIV></BODY></HTML>