Bom realmente não precisa de AJAX nem requisições de 1s em 1s.. Montei a solução via servidor em PHP sem ajax, sem travas, sem erros de alterar o próprio relógio, contando automaticamente independente de acessos concorrentes e principalmente funcionando no IECA rs...
A idéia informada pelo ERIC foi de grande ajuda, obrigado a todos. Em 21 de outubro de 2010 16:04, Eric Saboia <[email protected]> escreveu: > Quase.. > > Agora entendi a uitilização do hidden, mas realmente não faz sentido ser > num hidden, se não é algo que você vai enviar junto com a requisição, não > tem pra que por no formulário, poderia ser array javascript com o id de cada > produto na tela e o seu tempo de término. > > Quanto a requisição de sincronização, não me parece fazer sentido querer > sincronizar a hora do usuário com a do servidor, só iria reconsultar o tempo > restante do produto (da mesma forma que você faz na primeira requisição) e > voltar a aplicar o cronometro em cima desse tempo. > > Até por que, dessa forma você não se preocupa com fuso horário, abrindo a > possibildade pra jogadores de outros países inclusive, além disso, uma > consulta ao banco a cada 10 minutos não significa nada, e a quantidade de > transferência de dados entre o server e o client, por ajax, continuaria > sendo a mesma. > > > 2010/10/21 Edinho Almeida <[email protected]> > >> Oi Eric, >> O fluxo que imaginei mas não sei se é o melhor: >> A página é carregada ( busca no banco de dados os detalhes do produto e >> seu horário de fim da promoção ), mostra o produto para o cliente, e deixa o >> horário num campo hidden (ou uma variável em javascript mesmo) com o horário >> do fim. O javascript 'onload' pega a hora atual do cliente e começa a >> contagem regressiva mostrando o relógio. >> [até aqui o cliente não clicou em nada = uma requisição com consulta ao >> banco] >> De tempos em tempos, por exemplo, 10 minutos, há uma requisição ajax >> somente para sincar a hora atual do cliente com a hora do servidor. >> [até aqui o cliente ainda não clicou em nada houve + uma requisição >> somente para retornar a hora do servidor sem consulta ao banco; >> A javascript confere a hora que está considerando como atual com a do >> servidor ] >> Quando cliente clicar em "quero este item" aí vai um request e no servidor >> há a validação do produto, hora do fim, etc...consultados no banco de dados. >> >> Abs >> Edinho Almeida >> 11 8018-8019 >> >> >> 2010/10/21 Eric Saboia <[email protected]> >> >>> Edinho, >>> 1 - Como assim sem consulta ao banco? você vai gravar os produtos e tempo >>> de término como? >>> 2 - Concordo nesse aspecto, mas em 10 minutos, dúvido que um contador >>> javascript fique mais do que 3 segundos desincronizado, por isso falei a >>> pouco que no máximo deveria existir esse tipo de sincronização em intervalos >>> de aproximadamente 10 minutos, e não segundo a segundo. >>> 3 - Se travar, acredito que a contagem pare sim, mas acho que isso são >>> exceções, não vale a pena sacrificar o desempenho de um serviço por >>> exceções, é melhor perder esses clientes. >>> 4 - Continuo sem entender o porque do campo hidden. >>> >>> >>> 2010/10/21 Edinho Almeida <[email protected]> >>> >>>> Oi Eric, >>>> 1 - Acho (sem testar) que pode ser bem mais rápida um requisição sem >>>> consulta ao banco. Inclusive pode ser melhor ainda fazer um php puro para >>>> retornar somente a hora. >>>> 2 - Me refiro a segurança de que o relógio informado ao cliente esteja >>>> batendo com a hora do servidor. O cliente pode ver lá que "Faltam 30 >>>> segundos" então dá um submit e em 3 segundos a página retorna e diz "tempo >>>> encerrado". Gera frustação ao cliente. >>>> 3 - Meu laptop celeron trava. Mas realmente se isso faz uma regressiva >>>> no javascript congelar eu não testei. Em vez de regressiva fazer a cada >>>> segundo uma nova leitura do horário do javascript deve resolver. Mas >>>> insisto >>>> ainda em saber se o horário do cliente está batendo com o do servidor. >>>> 4 - Concordo com você. A validação do lado do servidor sempre é >>>> obrigatória. Não faço nada sem validar no servidor. >>>> O campo hidden seria para evitar a consulta ao banco durante a >>>> requisição. No submit é feita uma consulta ao banco para conferir o horário >>>> de fim. >>>> >>>> Abs >>>> Edinho Almeida >>>> 11 8018-8019 >>>> >>>> >>>> 2010/10/21 Eric Saboia <[email protected]> >>>> >>>> Nossa, vamos lá: >>>>> >>>>> 1 - Requisição ao banco ou ao servidor, só depende da ótica, o client >>>>> requisita o servidor, se esse precisa ir ao banco buscar a informação, >>>>> tanto >>>>> faz.. >>>>> 2 - Requisição ajax vai aumentar a segurança? >>>>> 3 - Máquina travar por 1 minuto? oO >>>>> 4 - Correto, o banco só precisa ter a hora de término, agora HIDDEN com >>>>> essa hora? você NUNCA pode confiar na informação que vem do cliente, isso >>>>> é >>>>> regra número 1 de segurança. e é por esse motivo que o cronômetro ser por >>>>> ajax ou javascript independe na segurança, pois você não deve confiar >>>>> nessa >>>>> informação pra aceitar ou não o lance. Como eu já disse anteriormente, a >>>>> verificação do tempo tem que ser feita NO servidor, por mais que o >>>>> cronometro ainda mostre tempo maior que zero, se a verificação no servidor >>>>> mostrar que o tempo encerrou, a requisição não pode ser aceita. >>>>> >>>>> 2010/10/21 Edinho Almeida <[email protected]> >>>>> >>>>> Amigos. >>>>>> Pelo que entendi não é requisição ao banco e sim ao servidor para >>>>>> buscar a hora do servidor, ou não? >>>>>> Realmente será um request ajax por segundo, porém a segurança de que o >>>>>> horário está sendo obedecido é maior. >>>>>> Se a máquina do cliente travar por um minuto quando houver a nova >>>>>> requisição a data voltará correta. >>>>>> >>>>>> No banco fica somente a hora do fim. que é lida só quando a página >>>>>> carrega. >>>>>> O Ajax busca o horário do servidor e o javascript faz a conta com o >>>>>> horário do fim que está num campo hidden. >>>>>> Daria para equilibrar segurança com redução de requests fazendo o >>>>>> javascript fazer a regressiva, mas de 15 em 15 segundos, por exemplo >>>>>> fazer >>>>>> uma requisição para aferir o horário. >>>>>> >>>>>> Abs >>>>>> Edinho Almeida >>>>>> 11 8018-8019 >>>>>> >>>>>> >>>>>> 2010/10/21 Leonardo Grillo <[email protected]> >>>>>> >>>>>>> 1 requisição ao banco por segundo só para isso? acho meio que >>>>>>> desnecessário... >>>>>>> Se você paga um servidor de hospedagem por trafego, imagine se 1.000 >>>>>>> pessoas acessam o seu site por dia, ficam vendo este cronometro por >>>>>>> 10min e >>>>>>> que esta tarefa gere um fráfego de 1kb por requisição. é só multiplicar: >>>>>>> 585.9375mb por dia! >>>>>>> >>>>>>> Em 21 de outubro de 2010 11:00, Eric Saboia <[email protected]>escreveu: >>>>>>> >>>>>>> Acho essa abordagem horrível. De qualquer forma você não irá >>>>>>>> garantir a precisão do cronômetro pelo delay que a requisição via ajax >>>>>>>> leva, >>>>>>>> além de gerar uma porrada de requisições que podem afetar o desempenho >>>>>>>> do >>>>>>>> serviço. >>>>>>>> >>>>>>>> 2010/10/21 Tiago Davi <[email protected]> >>>>>>>> >>>>>>>> Nossa.. rs de 1s em 1s o servidor fica fazendo requisições e com >>>>>>>>> acessos concorrentes? >>>>>>>>> >>>>>>>>> Acho que estou tentando ir pelo caminho mais difícil e não estou >>>>>>>>> exergando o mais simples. >>>>>>>>> >>>>>>>>> Gostei da solução mas isso não prejudica a performance em um >>>>>>>>> servidor compartilhado? >>>>>>>>> >>>>>>>>> Parabéns pelos sites, muito bom mesmo. >>>>>>>>> >>>>>>>>> Em 21 de outubro de 2010 11:50, Allan Torres ( Hazi) < >>>>>>>>> [email protected]> escreveu: >>>>>>>>> >>>>>>>>> Gente, >>>>>>>>>> Construi alguns desses , www.japegou.com.br , >>>>>>>>>> www.liquidatagua.com.br e to vendendo a solução também para >>>>>>>>>> alguns estados, graças a deus ta começando bem legal, mas esse >>>>>>>>>> contador >>>>>>>>>> funciona com um ajax bem simples, pois você cadastra o horario de >>>>>>>>>> inicio, e >>>>>>>>>> horario final, juntamente com a data, dai é fazer uma requisição >>>>>>>>>> ajax que de >>>>>>>>>> 1 em 1 segundo busque a informação e traga ao site, o complicado as >>>>>>>>>> vezes é >>>>>>>>>> a questão de fuso horario dos servidores mas facilmente resolvido >>>>>>>>>> com uma >>>>>>>>>> soma de mais ou menos horas... >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Abraços, precisando de alguma coisa relacionada a esse tipo de >>>>>>>>>> sistemas, to por aqui, >>>>>>>>>> Mandem PVT. >>>>>>>>>> >>>>>>>>>> allan Torres >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 2010/10/21 Roberto Almeida Quilice Longhi < >>>>>>>>>> [email protected]> >>>>>>>>>> >>>>>>>>>> Tiago, >>>>>>>>>>> >>>>>>>>>>> Concordo que parte tem que ser feita em javascript e parte no >>>>>>>>>>> servidor. >>>>>>>>>>> Eu faria dessa forma para não ficar fazendo requisição no >>>>>>>>>>> servidor se é algo que o cliente pode resolver. >>>>>>>>>>> >>>>>>>>>>> Porém não entendi o paragrafo abaixo: >>>>>>>>>>> >>>>>>>>>>> "Pois em windows você pode programar a execução de um método >>>>>>>>>>> automaticamente mas agora em linux.. ai é que são elas." >>>>>>>>>>> O que tu quis dizer com isso ? >>>>>>>>>>> >>>>>>>>>>> Em 21/10/2010 11:22, Tiago Davi escreveu: >>>>>>>>>>> >>>>>>>>>>> Interessante, fiquei analisando esses sites de compras coletivas >>>>>>>>>>> e tenho quase certeza que eles funcionam com Asp.net.. >>>>>>>>>>> Pois em windows você pode programar a execução de um método >>>>>>>>>>> automaticamente mas agora em linux.. ai é que são elas. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Em 21 de outubro de 2010 11:18, Lucas <[email protected]>escreveu: >>>>>>>>>>> >>>>>>>>>>>> Na parte da visualização (Front End) é JavaScript... Agora, você >>>>>>>>>>>> pode fazer um esquema de ajax, para sincronizar o relógio de tempo >>>>>>>>>>>> em tempo, >>>>>>>>>>>> tendo consulta no banco ou não.. e quando "zerar" o cronometro, >>>>>>>>>>>> você também >>>>>>>>>>>> faz uma requisição ajax para certificar que o tempo foi >>>>>>>>>>>> "acabado"... >>>>>>>>>>>> Eu faria assim. >>>>>>>>>>>> >>>>>>>>>>>> Em 21 de outubro de 2010 11:15, Tiago Davi <tiago.asp.net@ >>>>>>>>>>>> gmail.com> escreveu: >>>>>>>>>>>> >>>>>>>>>>>>> Bom dia galera. >>>>>>>>>>>>> >>>>>>>>>>>>> Gostaria de saber se é possível em PHP fazer um cronômetro no >>>>>>>>>>>>> estilo Peixe Urbano de forma que fique contando o tempo >>>>>>>>>>>>> automáticamente no >>>>>>>>>>>>> servidor mesmo >>>>>>>>>>>>> sem a execução do script. >>>>>>>>>>>>> >>>>>>>>>>>>> Por exemplo: >>>>>>>>>>>>> >>>>>>>>>>>>> Um usuário entrou e viu uma oferta que tem 01:20:00, o mesmo >>>>>>>>>>>>> saiu da página e ficou 1h fora e quando voltou o tempo estava em >>>>>>>>>>>>> 00:20:00. >>>>>>>>>>>>> >>>>>>>>>>>>> Alguém tem idéia de como fazer isso de forma eficiente em um >>>>>>>>>>>>> servidor linux? >>>>>>>>>>>>> >>>>>>>>>>>>> Att. >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Tiago Davi - Desenvolvedor Web. >>>>>>>>>>>>> http://tiagoaspnet.blogspot.com >>>>>>>>>>>>> >>>>>>>>>>>>> Política e outros temas: >>>>>>>>>>>>> http://socorrobr.blogspot.com/ >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> [email protected] >>>>>>>>>>>>> http://www.codeigniter.com.br >>>>>>>>>>>>> >>>>>>>>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>>>>>>>> >>>>>>>>>>>>> --------------------------- >>>>>>>>>>>>> Oportunidade de negócio >>>>>>>>>>>>> http://www.franquiasargohost.net >>>>>>>>>>>>> --------------------------- >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Att. >>>>>>>>>>>> Lucas H. J. Sigaki >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> [email protected] >>>>>>>>>>>> http://www.codeigniter.com.br >>>>>>>>>>>> >>>>>>>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>>>>>>> >>>>>>>>>>>> --------------------------- >>>>>>>>>>>> Oportunidade de negócio >>>>>>>>>>>> http://www.franquiasargohost.net >>>>>>>>>>>> --------------------------- >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Tiago Davi - Desenvolvedor Web. >>>>>>>>>>> http://tiagoaspnet.blogspot.com >>>>>>>>>>> >>>>>>>>>>> Política e outros temas: >>>>>>>>>>> http://socorrobr.blogspot.com/ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________li...@codeigniter.com.brhttp://www.codeigniter.com.brhttp://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>>>>>> >>>>>>>>>>> --------------------------- >>>>>>>>>>> Oportunidade de negóciohttp://www.franquiasargohost.net >>>>>>>>>>> --------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Roberto Almeida Quilice Longhi >>>>>>>>>>> Folha de Pagamento - Web >>>>>>>>>>> Ramal: 1406 >>>>>>>>>>> Tel: (11) 8599-9022 >>>>>>>>>>> Programação Contmatic >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> [email protected] >>>>>>>>>>> http://www.codeigniter.com.br >>>>>>>>>>> >>>>>>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>>>>>> >>>>>>>>>>> --------------------------- >>>>>>>>>>> Oportunidade de negócio >>>>>>>>>>> http://www.franquiasargohost.net >>>>>>>>>>> --------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Allan Torres >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> [email protected] >>>>>>>>>> http://www.codeigniter.com.br >>>>>>>>>> >>>>>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>>>>> >>>>>>>>>> --------------------------- >>>>>>>>>> Oportunidade de negócio >>>>>>>>>> http://www.franquiasargohost.net >>>>>>>>>> --------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Tiago Davi - Desenvolvedor Web. >>>>>>>>> http://tiagoaspnet.blogspot.com >>>>>>>>> >>>>>>>>> Política e outros temas: >>>>>>>>> http://socorrobr.blogspot.com/ >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> [email protected] >>>>>>>>> http://www.codeigniter.com.br >>>>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>>>> >>>>>>>>> --------------------------- >>>>>>>>> Oportunidade de negócio >>>>>>>>> http://www.franquiasargohost.net >>>>>>>>> --------------------------- >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Eric Saboia - eric.saboia.org >>>>>>>> PHP Zend Certified Engineer >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> [email protected] >>>>>>>> http://www.codeigniter.com.br >>>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>>> >>>>>>>> --------------------------- >>>>>>>> Oportunidade de negócio >>>>>>>> http://www.franquiasargohost.net >>>>>>>> --------------------------- >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> [email protected] >>>>>>> http://www.codeigniter.com.br >>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>> >>>>>>> --------------------------- >>>>>>> Oportunidade de negócio >>>>>>> http://www.franquiasargohost.net >>>>>>> --------------------------- >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> [email protected] >>>>>> http://www.codeigniter.com.br >>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>> >>>>>> --------------------------- >>>>>> Oportunidade de negócio >>>>>> http://www.franquiasargohost.net >>>>>> --------------------------- >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Eric Saboia - eric.saboia.org >>>>> PHP Zend Certified Engineer >>>>> >>>>> >>>>> _______________________________________________ >>>>> [email protected] >>>>> http://www.codeigniter.com.br >>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>> >>>>> --------------------------- >>>>> Oportunidade de negócio >>>>> http://www.franquiasargohost.net >>>>> --------------------------- >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> [email protected] >>>> http://www.codeigniter.com.br >>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>> >>>> --------------------------- >>>> Oportunidade de negócio >>>> http://www.franquiasargohost.net >>>> --------------------------- >>>> >>>> >>> >>> >>> -- >>> Eric Saboia - eric.saboia.org >>> PHP Zend Certified Engineer >>> >>> >>> _______________________________________________ >>> [email protected] >>> http://www.codeigniter.com.br >>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>> >>> --------------------------- >>> Oportunidade de negócio >>> http://www.franquiasargohost.net >>> --------------------------- >>> >>> >> >> _______________________________________________ >> [email protected] >> http://www.codeigniter.com.br >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> --------------------------- >> Oportunidade de negócio >> http://www.franquiasargohost.net >> --------------------------- >> >> > > > -- > Eric Saboia - eric.saboia.org > PHP Zend Certified Engineer > > > _______________________________________________ > [email protected] > http://www.codeigniter.com.br > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br > > --------------------------- > Oportunidade de negócio > http://www.franquiasargohost.net > --------------------------- > > -- Tiago Davi - Desenvolvedor Web. http://tiagoaspnet.blogspot.com Política e outros temas: http://socorrobr.blogspot.com/
_______________________________________________ [email protected] http://www.codeigniter.com.br http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br --------------------------- Oportunidade de negócio http://www.franquiasargohost.net ---------------------------

