Olá pessoal estava planejando fazer um chat aqui, os que vi na internet são todos baseados no reload, queria fazer um que não precisasse dar reload a cada x seguntos.
Achei que esse comando connection_aborted poderia me ajudar, mas acho que a página ficaria exessivamente lenta.
Alguém já usou esse comando? Se já usou, o que achou? A página fica lenta, sem parar de carregar?
Connection_aborted
Started By GuiSaldanha, 23/12/2004, 15:03
4 replies to this topic
#2
Posted 23/12/2004, 15:19
Explique o seu objetivo ao utlizar o comando connection_aborted em um chat.
------
Mero mortal!
Mero mortal!
#3
Posted 23/12/2004, 15:35
Provavalmente ele deseja fazer algo do tipo;
É uma ótima idéia, Gui! Só não te digo se dá certo pq nunca tentei.
Tente fazer e nos diga se ficou ou não lento. Sugiro, é claro, fazer em sua máquina antes. Dê uma olhada no Gerenciador de Processos (CTRL+ALT+DEL) se o processo do PHP está consumindo muito os recursos do sistema desta forma. Por se tratar de um loop infinito, provavelmente consumirá. Portanto é bom dar um sleep() dentro do loop para dar uma pausa para o processador respirar.
Um abraço,
Thales Medeiros.
<? set_time_limit(0); ignore_user_abort(false); while(!connection_aborted()) { //busca novas mensagens e as imprime na tela } mysql_query("DELETE FROM usuarios_na_sala_X WHERE id=$_SESSION[chat_id]"); ?>
É uma ótima idéia, Gui! Só não te digo se dá certo pq nunca tentei.
Tente fazer e nos diga se ficou ou não lento. Sugiro, é claro, fazer em sua máquina antes. Dê uma olhada no Gerenciador de Processos (CTRL+ALT+DEL) se o processo do PHP está consumindo muito os recursos do sistema desta forma. Por se tratar de um loop infinito, provavelmente consumirá. Portanto é bom dar um sleep() dentro do loop para dar uma pausa para o processador respirar.
Um abraço,
Thales Medeiros.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.
#4
Posted 23/12/2004, 15:54
Era exatamente isso Thales, principalmente para saber se o usuário ainda está conectado, porque se o usuário sair da sala clicando num botão fechar eu coloquei para abrir um popup para tirar ele do banco, mas alguns bloqueadores não deixam isso acontecer. Aí o sistema dá pau.
Guilherme Saldanha - www.guisaldanha.com - Sistemas em PHP
#5
Posted 23/12/2004, 16:05
Normalmente nos chats a gente costuma colocar também um campo de qual foi a data da última solicitação de dados pelo usuário. Vamos supor que o usuário saiu por um meio não convencional que impediu que você retirasse ele da sala via um código mais limpo. Então a gente verifica se esta data e hora da última solicitação tem mais de 2 minutos, por exemplo. Neste caso, a gente retira-o na marra. Algo que seria necessário se o uso do connection_aborted() funcionasse.
Um abraço,
Thales Medeiros.
Um abraço,
Thales Medeiros.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)