Имеется код такого вида. Как описано на bittorrent.org в 5 beep, что клиент должен использовать udp порт аналогичный использующему tcp порту. Но при соединении к этому порту, скрипт просто грузит ничего и висит просто....
Что я не понял, или не дочитал. кто может объяснить?
<?php
function bencode ($var)
{
if (is_string($var))
{
return strlen($var) .':'. $var;
}
else if (is_int($var))
{
return 'i'. $var .'e';
}
else if (is_float($var))
{
return 'i'. sprintf('%.0f', $var) .'e';
}
else if (is_array($var))
{
if (count($var) == 0)
{
return 'de';
}
else
{
$assoc = false;
foreach ($var as $key => $val)
{
if (!is_int($key))
{
$assoc = true;
break;
}
}
if ($assoc)
{
ksort($var, SORT_REGULAR);
$ret = 'd';
foreach ($var as $key => $val)
{
$ret .= bencode($key) . bencode($val);
}
return $ret .'e';
}
else
{
$ret = 'l';
foreach ($var as $val)
{
$ret .= bencode($val);
}
return $ret .'e';
}
}
}
else
{
trigger_error('bencode error: wrong data type', E_USER_ERROR);
}
}
$fp = fsockopen("udp://178.91.169.56", 54757, $errno, $errstr, 30);
flush();
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
//{"t":"aa", "y":"q", "q":"ping", "a":{"id":"abcdefghij0123456789"}}
//c519f93421ae40069805b6b7e46019bd0d382b26
$data = array(
't' => 'aa',
'y' => 'q',
'q' => 'ping',
'a' => array(
'id' => 'c519f93421ae40069805b6b7e46019bd0d382b26'
));
$out = bencode($data);
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 1280);
flush();
}
fclose($fp);
}
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.