コード例 #1
0
ファイル: announce.php プロジェクト: doio/Bittytorrent
    }
} elseif (isset($_SERVER['REMOTE_ADDR'])) {
    $_GET['ip'] = trim($_SERVER['REMOTE_ADDR'], '::ffff:');
} else {
    tracker_error('could not locate clients ip');
}
// integer - numwant - optional
// number of peers that the client has requested
if (!isset($_GET['numwant'])) {
    $_GET['numwant'] = $_SERVER['tracker']['default_peers'];
} elseif ($_GET['numwant'] + 0 > $_SERVER['tracker']['max_peers']) {
    $_GET['numwant'] = $_SERVER['tracker']['max_peers'];
} else {
    $_GET['numwant'] += 0;
}
// Handle Request //////////////////////////////////////////////////////////////////////////////////
// open database
peertracker::open();
// make info_hash & peer_id SQL friendly
$_GET['info_hash'] = peertracker::$api->escape_sql($_GET['info_hash']);
$_GET['peer_id'] = peertracker::$api->escape_sql($_GET['peer_id']);
// Only for private tracking
peertracker::updateUser();
// announce peers
peertracker::peers();
// track client
peertracker::event();
// garbage collection
peertracker::clean();
// close database
peertracker::close();