SoaresMSR Postado Setembro 14, 2017 Denunciar Share Postado Setembro 14, 2017 Boa tarde, quero construir um medidor de velocidade de internet, pesquisei bastante e não obtive muito sucesso, alguém pode me ajudar ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Markus Magnus Postado Setembro 15, 2017 Denunciar Share Postado Setembro 15, 2017 Em PHP não tem como, porque o script tem que rodar no computador do cliente. O que conheço são em Flash, por causa das animações, mas acredito que de pra fazer em Javascript também. O Javascript, ou o Flash, tem que fazer o download de um arquivo qualquer do servidor, usar o tempo de duração para calcular a velocidade e depois pode fazer o upload para o servidor via Ajax, no caso do Javascript, e usar o tempo para calcular o Upload. Já trabalhei em provedor de Internet e isso é um terror para provedores, porque as vezes a máquina do cliente já está fazendo outro download, uma atualização do windows por exemplo, isso reduz a velocidade do download que resta para o cliente e não tem como o seu sistema calcular essa diferença. Logo se a internet for de 5Mbps, o Windows está usando 3Mbps o seu sistema vai acusar no máximo 2Mbps. O cliente liga puto da vida, mas na verdade não existe problema nenhum com a internet. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 navegantenarede Postado Setembro 15, 2017 Denunciar Share Postado Setembro 15, 2017 Acredito que Flash seja inviável em 2017. Você pode fazer com HTML5/JS e qualquer linguagem de backend. Aqui um exemplo feito com PHP:https://github.com/adolfintel/speedtest O SpeedTest (do speedtest.net) tem uma ferramenta em linha de comando feita em Python. Não uma restrição, vai depender da sua preferência. Você pode olhar no GitHub o código de alguns projetos já prontos e tentar entender como funciona, assim como questionar sobre os desafios aos desenvolvedores originais. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 demerivas Postado Setembro 24, 2017 Denunciar Share Postado Setembro 24, 2017 Obrigado pela dica. vou testar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diogo Eira Postado Setembro 26, 2017 Denunciar Share Postado Setembro 26, 2017 Se precisar de uma explicação como isso funciona é só chamar Experimente <html> <body> <h1 id="progress">JavaScript is turned off, or your browser is realllllly slow</h1> <script> //JUST AN EXAMPLE, PLEASE USE YOUR OWN PICTURE! var imageAddr = "http://www.kenrockwell.com/contax/images/g2/examples/31120037-5mb.jpg"; var downloadSize = 4995374; //bytes function ShowProgressMessage(msg) { if (console) { if (typeof msg == "string") { console.log(msg); } else { for (var i = 0; i < msg.length; i++) { console.log(msg[i]); } } } var oProgress = document.getElementById("progress"); if (oProgress) { var actualHTML = (typeof msg == "string") ? msg : msg.join("<br />"); oProgress.innerHTML = actualHTML; } } function InitiateSpeedDetection() { ShowProgressMessage("Carregando dados, aguarde..."); window.setTimeout(MeasureConnectionSpeed, 1); }; if (window.addEventListener) { window.addEventListener('load', InitiateSpeedDetection, false); } else if (window.attachEvent) { window.attachEvent('onload', InitiateSpeedDetection); } function MeasureConnectionSpeed() { var startTime, endTime; var download = new Image(); download.onload = function () { endTime = (new Date()).getTime(); showResults(); } download.onerror = function (err, msg) { ShowProgressMessage("Invalid image, or error downloading"); } startTime = (new Date()).getTime(); var cacheBuster = "?nnn=" + startTime; download.src = imageAddr + cacheBuster; function showResults() { var duration = (endTime - startTime) / 1000; var bitsLoaded = downloadSize * 8; var speedBps = (bitsLoaded / duration).toFixed(2); var speedKbps = (speedBps / 1024).toFixed(2); var speedMbps = (speedKbps / 1024).toFixed(2); ShowProgressMessage([ "Sua velocidade de conexão é:", speedMbps + " Mbps" ]); } } </script> </body> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 SoaresMSR Postado Setembro 26, 2017 Autor Denunciar Share Postado Setembro 26, 2017 Testei agora e deu uma velocidade bem diferente, deu 2.67 Mbps , no http://beta.speedtest.net deu 14.66 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
SoaresMSR
Boa tarde, quero construir um medidor de velocidade de internet, pesquisei bastante e não obtive muito sucesso, alguém pode me ajudar ?
Link para o comentário
Compartilhar em outros sites
5 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.