DunkMask 1 Denunciar post Postado Outubro 20, 2011 Olá, bom dia. Estou com um problema em uma função que fiz. Ela recebe dados de um streaming de audio, so que preciso de uma forma que esta informação seja passada em tempo real e ao mesmo tempo que não exija tanto do servidor. Atualmente uso o JS para fazer esta atualização em uma DIV, mas ela durante a noite esta abusando muito do servidor fazendo com que o site fique fora do ar, cheguei a pensar que alguém esta me prejudicando de proposito, pois durante o dia a função trabalha normalmente, mas durante a noite os problemas voltam. Alguém pode me ajudar com uma solução para isso? Desde já agradeço pelo tempo gasto lendo este tópico. Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Outubro 20, 2011 pq acha que o js esta prejudicando você? veja bem você tem q logar, fazer log de td o q acontece no seu site pra ver o que de fato esta acontecendo, computadores trabalham em cliclos, ciclos iguais, portanto pode-se concluir que nao eh conputador que esteja lhe prejudicando, o que pode estar havendo sim, um acesso maior na parte da noite, bom vejamos....onde as pessoas estao em casa e podem acessar o que bem entendem, e no serviço nao, ja analisou esta possibilidade? Compartilhar este post Link para o post Compartilhar em outros sites
DunkMask 1 Denunciar post Postado Outubro 20, 2011 Bem não é o JS que está me prejudicando, possivelmente alguém deve estar executando um reload abusivo em cima da minha função, como eu disse isso so acontece a noite. mas quanto ao problema, ontem tive a mesma quantidade de visitas o dia inteiro, ou seja... um numero razoável de ouvintes online, a noite continuo a mesma coisa, a diferença é que do nada a função começa a ser executada exageradamente. Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Outubro 20, 2011 concordo com você, precisa de solucao, mas pra ter uma solucao você pre cisa de um problema, o q você tb tem, mas pra ter problema precisa da causa....o q você nao sabe...posta o codigo pra avalizacao... Compartilhar este post Link para o post Compartilhar em outros sites
Marcel Sartori 0 Denunciar post Postado Outubro 20, 2011 Amigo, estas informações são textos, fotos? Não pensou em utilizar jQuery, ou outro recurso "ajax"? Compartilhar este post Link para o post Compartilhar em outros sites
DunkMask 1 Denunciar post Postado Outubro 20, 2011 Bom, vamos la entao. o arquivo que esta sedo atualizado em um determinado tempo é esse. arquivo function.php if($_GET['function'] == "agora"){ require ("configPlayer.php"); if (!$scfp) { // If server is off line show template (no connect) echo 'Rádio offline, aguarde um momento...'; } else { // If server is on line show template (Off Line / On-Line) if ($streamstatus == "1") { // On-line echo ''. $song[0] .''; } else { // Off-Line echo 'Servidor ligado mas sem transmissão, aguarde o próximo locutor!'; } } } // FIM IF AGORA arquivo JS $(document).ready(function() { $("#musicaon").load("classes/function.php?function=agora"); var refreshId = setInterval(function() { $("#musicaon").load('classes/function.php?function=agora'); }, 3000); }); alem deste existe no mesmo arquivo outras linhas encarregadas de puxar o nome do locutor, nome do programa e a temática do programa. Resumindo, as informações são apenas textos. Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Outubro 20, 2011 ah sim, pois entao, você esta usando o setInterval.....so q o uso desta funcao geralmente, nao sempre, eh junto com outra funcao, a clearInterval...da uma pesquisada e testada....pode ser que você precise limpar os intervalos, ja que o setinterval deve estar acumulando requisicoes, outra coisa, o mesmo usuario pode estar acumulando requisicoes na maquina dele toda vez que solicita...da uma estudada.... Compartilhar este post Link para o post Compartilhar em outros sites
DunkMask 1 Denunciar post Postado Outubro 20, 2011 Eu dei uma pesquisada no que você disse ai, mas ao utilizar o clearInterval ele não recebe os dados de que preciso na index do site. mas veja se eu fiz certo. $(document).ready(function() { $("#musicaon").load("classes/function.php?function=agora"); var refreshId = setInterval(function() { $("#musicaon").load('classes/function.php?function=agora'); }, 3000); clearInterval(refreshId); }); Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Outubro 20, 2011 ok, vamos la, no seu script o load do jquery eh executado, e você faz com q ele seja executado a cara 3 segundos, nao sera isto nao? pq do primeiro momento q a pagina for carregada a musica on tb sera carregada...outra coisa ao utilizar o clearinterval você limpa o setinterval 3 segundos depois..e faz com q ele pare....você so precisa carregar a radio uma vez apos a pagina ser carregada, ou to enganado? Compartilhar este post Link para o post Compartilhar em outros sites
DunkMask 1 Denunciar post Postado Outubro 20, 2011 sim, a pagina é carregada apenas uma vez, mas conforme a musica vai passando esta informação precisa ser atualizada automaticamente. Para ser mais exato eu não sei muito sobre jquery, por isso dessa dificuldade enorme com este arquivo. Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Outubro 20, 2011 ja pensou em fazer uma radio com shoutcat? acho q daria solucao, muita gente faz isso... Compartilhar este post Link para o post Compartilhar em outros sites
DunkMask 1 Denunciar post Postado Outubro 21, 2011 Então amigo, minha rádio é em shoutcast, o problema é que eu estou pegando os dados de quem esta online automaticamente. Desta forma cada locutor não precisa logar em um sistema e setar que esta locutando. Bom, mas eu mudei por completo essa questão ai, para sanar o meu problema e exigir menos do servidor, eu criei um arquivo que pega todos esses dados do streaming que antes era em tempo real e jogo em uma tabela no banco dedados. Resumindo, somente o servidor estará usando o socket, e todos os dados serão passados via php mesmo. Mas nesta minha ideia ate certo ponto esta funcionando perfeito. o problema que eu encontrei é que eu não estou consegui puxar os dados para dentro desta div como antes. Abaixo segue o arquivo que puxa os dados do banco de dados: status.php <?php require "dbconect.php"; $query = mysql_query("SELECT * FROM shoutcast"); $shout = mysql_fetch_object($query); if($_GET['action'] == 'programa'){ echo ''.$shout->programa.''; } if($_GET['action'] == 'avatar'){ echo '<img src="images/dj/'.$shout->dj.'.jpg" width="75" height="90" alt="'.$shout->dj.'" />'; } if($_GET['action'] == 'dj'){ echo ''.$shout->dj.''; } if($_GET['action'] == 'online'){ echo ''.$shout->ouvintes.''; } if($_GET['action'] == 'pico'){ echo ''.$shout->pico.''; } if($_GET['action'] == 'musicaon'){ echo ''.$shout->musicaon.''; } if($_GET['action'] == 'genero'){ echo ''.$shout->genero.''; } ?> e usei o mesmo load que postei acima para chamar cada dado. $(document).ready(function() { $("#musicaon").load("classes/status.php?action=musicaon"); var refreshId = setInterval(function() { $("#musicaon").load('classes/status.php?action=musicaon'); }, 3000); }); agora o problema que apareceu é que a DIV que possui a id #musicaon não recebe os dados. Alguma outra ideia para que eu possa receber esses dados executando um refresh ao mesmo tempo? Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Outubro 21, 2011 na tentou trocar o metodo load, por ajax?... Compartilhar este post Link para o post Compartilhar em outros sites
DunkMask 1 Denunciar post Postado Outubro 21, 2011 não conheço muito bem, pode me ajudar com isso? Corrigindo o que eu disse, eu estou usando o load do jquery, o problema é que ele nao esta pegando as informações do arquivo status. conforme o código acima Compartilhar este post Link para o post Compartilhar em outros sites