|
Pascal
Invité
|
 |
| Posté le: Mar 23 Oct 2007, 4:19 pm |
|
 |
 |
 |
 |
bonjour a tous
j'ai un petit script php qui permet de savoir le nb d'auditeurs pour une webradio via l'ip et le port du serveur.
le script que j'ai viens du web il fonctionne bien sur 2 des 3 ips
je m'explique pour le port 6662 et 6668 rien a n'a dire il arrive a lire le nb d'auditeur par contre l'un des serveurs se trouve sur le port 6667 et le script me renvoi toujours "0" auditeurs dessus .
sachant que je peux pas changer le port de diffusion comment puis je faire pour que le script arrive a afficher le nb exact et non plus 0.
j'ai aussi pensé a script qui recupere sur le site de shoutcast le nb d'auditeur mais la ca me depasse , si une personne a une idée de script a me conseiller
cdt Pascal
|
|
|
|
Invité
|
 |
| Posté le: Mar 23 Oct 2007, 10:29 pm |
|
 |
 |
 |
 |
bonsoir
voila le script fonctionnel avec les 3 adresse de serveur de stream de la radio , celle qui bloque c le port 6667 j'ai le droit a ça :
Auditeurs: 8/192
ERROR [Connection refused / Server down]
192 kbps - 6 / 94 places
32 kbps - 2 / 98 places
voici le code qui n'est pas de moi je le precise c'est un script que j'ai trouvé une fois et que j'ai modifié pour avoir que ça
<?php
$station_name = "";
$refresh = "200";
$timeout = "1";
/* Serveur */
$ip[2] = "213.251.176.200";
$port[2] = "7070";
$ip[1] = "213.251.176.200";
$port[1] = "6667";
$ip[3] = "87.98.175.43";
$port[3] = "6662";
/* ------------------------------------------- */
$servers = count($ip);
?>
<!DOCTYPE HTML PUBLIC >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
if ($refresh != "0")
{
print "<meta http-equiv=\"refresh\" content=\"$refresh\">\n";
}
?>
</head>
<body>
<?php
$i = "1";
while($i<=$servers)
{
$fp = @fsockopen($ip[$i],$port[$i],$errno,$errstr,$timeout);
if (!$fp)
{
$listeners[$i] = "0";
$msg[$i] = "<span class=\"red\">ERROR [Connection refused / Server down]</span>";
$error[$i] = "1";
}
else
{
fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: Mozilla\r\n\r\n");
while (!feof($fp))
{
$info = fgets($fp);
}
$info = str_replace('<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>', "", $info);
$info = str_replace('</body></html>', "", $info);
$stats = explode(',', $info);
if (empty($stats[1]) )
{
$listeners[$i] = "0";
$msg[$i] = "<span class=\"red\">ERROR [There is no source connected]</span>";
$error[$i] = "1";
}
else
{
if ($stats[1] == "1")
{
$song[$i] = $stats[6];
$listeners[$i] = $stats[0];
$max[$i] = $stats[3];
$bitrate[$i] = $stats[5];
$peak[$i] = $stats[2];
$max[$i] = $max[$i] - $listeners[$i] ;
$xx = "";
if ($stats[0] == $max[$i])
{
}
$msg[$i] .= $xx." ".$bitrate[$i]." kbps - ".$listeners[$i]." / ".$max[$i]." places ";
if ($stats[0] == $max[$i])
{
}
}
else
{
$listeners[$i] = "0";
$msg[$i] = " <span class=\"red\">ERROR [Cannot get info from server]</span>";
$error[$i] = "1";
}
}
}
$i++;
}
$total_listeners = array_sum($listeners) ;
$total_place = array_sum($max) ;
print " <div>\n <b> <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"> Auditeurs:
$total_listeners/$total_place </b></font>\n ";
$i = "1";
while($i<=$servers)
{
print " <div>\n";
if ($max[$i] > 0)
{
}
if ($error[$i] != "1")
{
?>
<?php
}
else
{
?>
<?php
}
print " <div>\n <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"> $msg[$i] \n </font>";
$i++;
}
?>
</body>
</html>
|
|
|
|
|
Pascal
| Inscrit le: 23 Oct 2007 |
| Messages: 3 |
|
|
 |
| Posté le: Jeu 25 Oct 2007, 6:46 pm |
|
 |
 |
 |
 |
bonsoir
personne n'a d'idée ?
|
|
|
|
Pascal
| Inscrit le: 23 Oct 2007 |
| Messages: 3 |
|
|
 |
| Posté le: Mer 07 Nov 2007, 5:24 pm |
|
 |
 |
 |
 |
petit up !
|
|
|