function get_ip($chat) //network.as:3817, network.as:197
{
$ips = 4; //network.as:4053
$servers = 4; //network.as:4054
$sock = array("174.36.242.24", "174.36.242.25", "174.36.242.26", "174.36.242.27", "174.36.242.32", "174.36.242.33", "174.36.242.34", "174.36.242.35", "174.36.242.40", "174.36.242.41", "174.36.242.42", "174.36.242.43", "69.4.231.248", "69.4.231.249", "69.4.231.250", "69.4.231.251"); //network.as:4055
$sock2 = array("208.43.218.80", "208.43.218.81", "208.43.218.82", "208.43.218.83", "174.36.56.200", "174.36.56.201", "174.36.56.202", "174.36.56.203", "174.36.4.144", "174.36.4.145", "174.36.4.146", "174.36.4.147", "174.36.56.184", "174.36.56.185", "174.36.56.186", "174.36.56.187"); //network.as:4056
$SockStatus = array(400, 401, 402, 403, 410, 411, 412, 413, 420, 421, 422, 423, 430, 431, 432, 433);
for($i=0;$i<$servers;$i++)
{
$array = array();
for($j=0;$j<$ips;$j++)
{
if($SockStatus[$i * $ips + $j] != 0)
{
$array[] = $sock[$i * $ips + $j];
}
}
if(sizeof($array) > 0)
{
$ip[0][$i] = $array[rand(0, sizeof($array) - 1 )];
}
$ip[1][$i] = $sock2[4 * $i + rand(0,3)];
}
$inarray = $chat < 8 ? 3 : ($chat & 96) >> 5;
return $ip[0][$inarray];
}
Я пытался преобразовать этот код, который выбирает IP "случайно" из массива для данного номера чата.
До сих пор я пытался сделать что-то подобное, но безуспешно. Кто-нибудь может помочь?
Плохой порт, который я сделал:
public static double xat_get_ip(double arg1){
int ips = 4;
int servers = 4;
String Sock[] = {"174.36.242.24", "174.36.242.25", "174.36.242.26", "174.36.242.27", "174.36.242.32", "174.36.242.33", "174.36.242.34", "174.36.242.35", "174.36.242.40", "174.36.242.41", "174.36.242.42", "174.36.242.43", "69.4.231.248", "69.4.231.249", "69.4.231.250", "69.4.231.251"};
String Sock2[] = {"208.43.218.80", "208.43.218.81", "208.43.218.82", "208.43.218.83", "174.36.56.200", "174.36.56.201", "174.36.56.202", "174.36.56.203", "174.36.4.144", "174.36.4.145", "174.36.4.146", "174.36.4.147", "174.36.56.184", "174.36.56.185", "174.36.56.186", "174.36.56.187"};
int SockStatus[] = {400, 401, 402, 403, 410, 411, 412, 413, 420, 421, 422, 423, 430, 431, 432, 433};
double ip[][];
for (int i = 0; i < servers; i++) {
ArrayList<String> array = new ArrayList<String>();
for (int j = 0; j < ips; j++) {
if (SockStatus[i * ips + j] != 0) {
array.add(Sock[i * ips + j]);
}
if (array.size() > 0) {
double rn = new Random().nextInt() + 1;
ip[0][i] = array[Math.floor(Math.random() * array.size())];
}
double rn2 = new Random().nextInt(3) + 1;
ip[1][i] = sock2[4 * i + rn2];
}
if (arg1 == 8) {
int inarray = 0;
} else{
int inarray = arg1 < 8 ? 3 : arg1 & 96 >> 5;
}
return ip[0][inarray];
}
}
извините, что не ясно. :( Даже после изменения функций Rand для правильной работы и исправления пропущенных скобок в последних строках я все еще получаю эти ошибки. Мне кажется, я не могу заставить работать массивы. Мне нужно добавить в массив, который afaik требует ArrayList
, но это дает мне пару ошибок.
C:\Program Files\Xinox Software\JCreatorV3 LE\MyProjects\Chronos\src\connect.java:32: array required, but java.util.ArrayList<java.lang.String> found
ip[0][i].add(array[rand.nextInt(array.size())]);
^
C:\Program Files\Xinox Software\JCreatorV3 LE\MyProjects\Chronos\src\connect.java:32: double cannot be dereferenced
ip[0][i].add(array[rand.nextInt(array.size())]);
^
C:\Program Files\Xinox Software\JCreatorV3 LE\MyProjects\Chronos\src\connect.java:35: cannot find symbol
symbol : variable sock2
location: class connect
ip[1][i] = sock2[4 * i + rn2];
^
C:\Program Files\Xinox Software\JCreatorV3 LE\MyProjects\Chronos\src\connect.java:35: possible loss of precision
found : double
required: int
ip[1][i] = sock2[4 * i + rn2];
^
C:\Program Files\Xinox Software\JCreatorV3 LE\MyProjects\Chronos\src\connect.java:41: operator & cannot be applied to double,int
int inarray = arg1 < 8 ? 3 : (arg1 & 96) >> 5;
^
C:\Program Files\Xinox Software\JCreatorV3 LE\MyProjects\Chronos\src\connect.java:44: cannot find symbol
symbol : variable inarray
location: class connect
return ip[0][inarray];
^
6 errors
Process completed.
Обновлено в комментариях: S