Estou com um probleminha em um script que recebi para obter estatísticas de um servidor de stream. O servidor do meu site não consegui se conectar ao stream, mas o meu servidor local consegui.
Meu primeiro problema é esse, resolver este pequeno problema, cujo o erro é o seguinte:
Warning: fsockopen() [function.fsockopen]: unable to connect to ouvir.radioxblade.com.br:8148 (Connection refused) in /home/animexbl/public_html/radioxblade.com.br/streaming/shoutcast.class.php on line 14
Connection refused (111)
Bom, lembrando que estou usando hospedagem hostgator, mas tenho outros servidores disponíveis. agora posto aqui também a class do shoutcast
class ShoutCast {
// Public
var $host;
var $port;
var $passwd;
//Private
var $_xml;
var $_error;
function openstats() {
$fp = fsockopen($this->host, $this->port, $errno, $errstr, 10);
If (!$fp) {
$this->_error = "$errstr ($errno)";
return(0);
} else {
fputs($fp, "GET /admin.cgi?pass=".$this->passwd."&mode=viewxml HTTP/1.0\r\n");
fputs($fp, "User-Agent: Mozilla\r\n\r\n");
while (!feof($fp)) {
$this->_xml .= fgets($fp, 512);
}
fclose($fp);
if (stristr($this->_xml, "HTTP/1.0 200 OK") == true) {
// <-H> Thanks to Blaster for this fix.. trim();
$this->_xml = trim(substr($this->_xml, 42));
} else {
$this->_error = "Bad login";
return(0);
}
$xmlparser = xml_parser_create();
if (!xml_parse_into_struct($xmlparser, $this->_xml, $this->_values, $this->_indexes)) {
$this->_error = "Unparsable XML";
return(0);
}
xml_parser_free($xmlparser);
return(1);
}
}
function GetCurrentListenersCount() {
return($this->_values[$this->_indexes["CURRENTLISTENERS"][0]]["value"]);
}
function GetPeakListenersCount() {
return($this->_values[$this->_indexes["PEAKLISTENERS"][0]]["value"]);
}
function GetMaxListenersCount() {
return($this->_values[$this->_indexes["MAXLISTENERS"][0]]["value"]);
}
function GetReportedListenersCount() {
return($this->_values[$this->_indexes["REPORTEDLISTENERS"][0]]["value"]);
}
function GetAverageListenTime() {
return($this->_values[$this->_indexes["AVERAGETIME"][0]]["value"]);
}
function GetServerGenre() {
return($this->_values[$this->_indexes["SERVERGENRE"][0]]["value"]);
}
function GetServerURL() {
return($this->_values[$this->_indexes["SERVERURL"][0]]["value"]);
}
function GetServerTitle() {
return($this->_values[$this->_indexes["SERVERTITLE"][0]]["value"]);
}
function GetCurrentSongTitle() {
return($this->_values[$this->_indexes["SONGTITLE"][0]]["value"]);
}
function GetIRC() {
return($this->_values[$this->_indexes["IRC"][0]]["value"]);
}
function GetAIM() {
return($this->_values[$this->_indexes["AIM"][0]]["value"]);
}
function GetICQ() {
return($this->_values[$this->_indexes["ICQ"][0]]["value"]);
}
function GetWebHitsCount() {
return($this->_values[$this->_indexes["WEBHITS"][0]]["value"]);
}
function GetStreamHitsCount() {
return($this->_values[$this->_indexes["STREAMHITS"][0]]["value"]);
}
function GetStreamStatus() {
return($this->_values[$this->_indexes["STREAMSTATUS"][0]]["value"]);
}
function GetBitRate() {
return($this->_values[$this->_indexes["BITRATE"][0]]["value"]);
}
function GetSongHistory() {
for($i=1;$i<sizeof($this->_indexes['TITLE']);$i++) {
$arrhistory[$i-1] = array(
"playedat"=>$this->_values[$this->_indexes['PLAYEDAT'][$i]]['value'],
"title"=>$this->_values[$this->_indexes['TITLE'][$i]]['value']
);
}
return($arrhistory);
}
function GetListeners() {
for($i=0;$i<sizeof($this->_indexes['USERAGENT']);$i++) {
$arrlisteners[$i] = array(
"hostname"=>$this->_values[$this->_indexes['HOSTNAME'][$i]]['value'],
"useragent"=>$this->_values[$this->_indexes['USERAGENT'][$i]]['value'],
"underruns"=>$this->_values[$this->_indexes['UNDERRUNS'][$i]]['value'],
"connecttime"=>$this->_values[$this->_indexes['CONNECTTIME'][$i]]['value'],
"pointer"=>$this->_values[$this->_indexes['POINTER'][$i]]['value'],
"uid"=>$this->_values[$this->_indexes['UID'][$i]]['value'],
);
}
return($arrlisteners);
}
function geterror() { return($this->_error); }
}
?>
só lembrando que existe um outro script que é apenas de conexão onde coloco os dados do ip, porta e senha. mas ele não chega vir ao caso aqui.
Bom, como posso contornar este problema ai do fsockopen(), alguém poderia me ajudar?
meu outro problema é fazer com que o local onde as informações apareçam seja sempre atualizada conforme as musicas forem sendo alteradas ou ouvintes se conectando.
Lembrando que preciso atualizar somente a área destas informações e não a pagina inteira.
Pergunta
DunkMask
Olá galera da scriptbrasil.
Estou com um probleminha em um script que recebi para obter estatísticas de um servidor de stream. O servidor do meu site não consegui se conectar ao stream, mas o meu servidor local consegui.
Meu primeiro problema é esse, resolver este pequeno problema, cujo o erro é o seguinte:
Bom, lembrando que estou usando hospedagem hostgator, mas tenho outros servidores disponíveis. agora posto aqui também a class do shoutcastsó lembrando que existe um outro script que é apenas de conexão onde coloco os dados do ip, porta e senha. mas ele não chega vir ao caso aqui.
Bom, como posso contornar este problema ai do fsockopen(), alguém poderia me ajudar?
meu outro problema é fazer com que o local onde as informações apareçam seja sempre atualizada conforme as musicas forem sendo alteradas ou ouvintes se conectando.
Lembrando que preciso atualizar somente a área destas informações e não a pagina inteira.
Espero que alguém possa me ajudar.
Desde já agradeço
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.