Velocidad de Internet.
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
Velocidad de Internet.
Hola a Todos Amigos,
Hace ya algunos años trato de que mis clientes se decanten por alojar sus datos en la nube, gracias a todas las ventajas que esto conlleva.
Mis aplicaciones son hechas en FW+HARBOUR y se instalan localmente, es decir, aplicaciones DESKTOP, como cualquier otra, pero toda la data se guarda y gestiona en la nube.
¿Hay alguna función en FW que me indique a que velocidad esta el internet al momento de ejecutarse el sistema?
Si no contamos con esa función nativa, ¿existe alguna aplicación de terceros que pueda integrar a mis aplicaciones de manera transparente ?
Sugiero (si no hay manera de saberlo) que se integre en las nuevas versiones de FW, por supuesto si es posible y si más usuarios lo consideran de utilidad.
Quedo pendiente para recibir ideas y sugerencias.
Gracias.
Hace ya algunos años trato de que mis clientes se decanten por alojar sus datos en la nube, gracias a todas las ventajas que esto conlleva.
Mis aplicaciones son hechas en FW+HARBOUR y se instalan localmente, es decir, aplicaciones DESKTOP, como cualquier otra, pero toda la data se guarda y gestiona en la nube.
¿Hay alguna función en FW que me indique a que velocidad esta el internet al momento de ejecutarse el sistema?
Si no contamos con esa función nativa, ¿existe alguna aplicación de terceros que pueda integrar a mis aplicaciones de manera transparente ?
Sugiero (si no hay manera de saberlo) que se integre en las nuevas versiones de FW, por supuesto si es posible y si más usuarios lo consideran de utilidad.
Quedo pendiente para recibir ideas y sugerencias.
Gracias.
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
- Antonio Linares
- Site Admin
- Posts: 42259
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Velocidad de Internet.
la web https://fast.com/ es el lugar ideal para medir la velocidad de internet.
Estamos viendo si podemos hacer una función que extraiga el valor automaticamente desde esa web
Estamos viendo si podemos hacer una función que extraiga el valor automaticamente desde esa web
Re: Velocidad de Internet.
Antonio:
Muchas gracias.
Saludos
Muchas gracias.
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
Re: Velocidad de Internet.
Excelente maestro,
Con fivewin, siempre se puede !
Seguro que pronto lo tendremos!
Con fivewin, siempre se puede !
Seguro que pronto lo tendremos!
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
- carlos vargas
- Posts: 1721
- Joined: Tue Oct 11, 2005 5:01 pm
- Location: Nicaragua
Re: Velocidad de Internet.
Yo lo buscaría hacer con el componente twebview y con el URL de speedtest. Y lo íntegro en mi app.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
Carlos Vargas
Desde Managua, Nicaragua (CA)
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
Re: Velocidad de Internet.
Hola carlos, saludos.carlos vargas wrote:Yo lo buscaría hacer con el componente twebview y con el URL de speedtest. Y lo íntegro en mi app.
Lo que deseo es obtener el valor de la velocidad, no visualizarlo.
Si te entendí bien, lo que me sugieres es para mostrar la web.
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Re: Velocidad de Internet.
Hola,
No he podido investigar mucho, pero para otras cosas como descargar ficheros, yo lo hago por comandos.
Te pongo una URL donde te explica como hacerlo, supongo que si buscas un poco en la ayuda podrás saber como obtener el dato de la velocidad.
https://www.youtube.com/watch?v=NU15yYT2pwk
Ya nos dices si te ha servido.
No he podido investigar mucho, pero para otras cosas como descargar ficheros, yo lo hago por comandos.
Te pongo una URL donde te explica como hacerlo, supongo que si buscas un poco en la ayuda podrás saber como obtener el dato de la velocidad.
https://www.youtube.com/watch?v=NU15yYT2pwk
Ya nos dices si te ha servido.
- Antonio Linares
- Site Admin
- Posts: 42259
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Velocidad de Internet.
Este código debería funcionar pero algo le falla aún:
Code: Select all | Expand
#include 'hbcurl.ch'
#define CURLOPT_URL 10002
#define CURLOPT_NOBODY 10013
PROCEDURE Main()
LOCAL curl, res, url, startTime, endTime
LOCAL speed
url := "https://github.com/FiveTechSoft/harbour_and_xharbour_builds/raw/master/harbour_msvc2022_64_20240530.zip"
startTime := Seconds()
curl := curl_easy_init()
IF curl!= Nil
curl_easy_setopt(curl, CURLOPT_URL, url)
// curl_easy_setopt(curl, CURLOPT_NOBODY, 1) // solo obtener headers
res := curl_easy_perform(curl)
endTime := Seconds()
IF res == 0
speed := (endTime - startTime) / 60 // segundos a minutos
? "Velocidad de descarga:", speed * 1024, " KB/s"
ELSE
? "curl_easy_perform() failed:", res, curl_easy_strerror(res)
ENDIF
curl_easy_cleanup(curl)
ENDIF
curl_global_cleanup()
RETURN
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
Re: Velocidad de Internet.
Gracias GARBI, agradecido por tu apoyo. Todas las ideas son bienvenidas.Garbi wrote:Hola,
No he podido investigar mucho, pero para otras cosas como descargar ficheros, yo lo hago por comandos.
Te pongo una URL donde te explica como hacerlo, supongo que si buscas un poco en la ayuda podrás saber como obtener el dato de la velocidad.
https://www.youtube.com/watch?v=NU15yYT2pwk
Ya nos dices si te ha servido.
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
Re: Velocidad de Internet.
Perfecto master, haré las pruebas con este código y estaré comentando.Antonio Linares wrote:Este código debería funcionar pero algo le falla aún:Code: Select all | Expand
#include 'hbcurl.ch' #define CURLOPT_URL 10002 #define CURLOPT_NOBODY 10013 PROCEDURE Main() LOCAL curl, res, url, startTime, endTime LOCAL speed url := "https://github.com/FiveTechSoft/harbour_and_xharbour_builds/raw/master/harbour_msvc2022_64_20240530.zip" startTime := Seconds() curl := curl_easy_init() IF curl!= Nil curl_easy_setopt(curl, CURLOPT_URL, url) // curl_easy_setopt(curl, CURLOPT_NOBODY, 1) // solo obtener headers res := curl_easy_perform(curl) endTime := Seconds() IF res == 0 speed := (endTime - startTime) / 60 // segundos a minutos ? "Velocidad de descarga:", speed * 1024, " KB/s" ELSE ? "curl_easy_perform() failed:", res, curl_easy_strerror(res) ENDIF curl_easy_cleanup(curl) ENDIF curl_global_cleanup() RETURN
La idea con este dato es hacer lo mismo que muchas aplicaciones android que detectan la velocidad y avisan al usuario "su conexión a internet es débil", "su conexión presenta problemas" o "su conexión a internet es lenta".
De esta manera, estarán informados que la lentitud se debe a una mala calidad de su internet y no a mi aplicación.
Con la empresa y el plan de hosting que tengo contratado mi aplicación funciona al 100% con muy pero muy poco retardo en dar respuesta. Pero a veces la velocidad de internet varía, y algunos usuarios piensan que es por causa de la aplicación. Por eso es importante para mi que mi sistema les informe sobre el status de su conexión.
Se que en la mayoría de paises el servicio de internet funciona siempre de manera estable manteniendo la velocidad ofrecida por el proveedor, pero acá en Venezuela es una verdadera montaña rusa, literalmente.
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Re: Velocidad de Internet.
greeting,
Jimmy
Jimmy
Re: Velocidad de Internet.
Tks, Jimmy.
Regards, saludos.
Code: Select all | Expand
// C:\FWH\SAMPLES\INTSPEED.PRG
#include "FiveWin.ch"
FUNCTION Main()
LOCAL cURL := "https://fiber.google.com/speedtest/"
/* comprobamos si tenemos conexion a internet */
IF .NOT. IsInternet()
// MsgAlert( "Verifique Sua Internet.", "Internet Fora do Ar?" )
MsgAlert( "Revise su Internet.", "¿Internet caído?")
RETURN NIL
ENDIF
CursorWait()
// Funcion modificada para que funcione con Windows 7
ShellExecute( , "open", cURL )
CursorArrow()
RETURN NIL
// FIN / END
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
Re: Velocidad de Internet.
Master Antonio,Antonio Linares wrote:Este código debería funcionar pero algo le falla aún:Code: Select all | Expand
#include 'hbcurl.ch' #define CURLOPT_URL 10002 #define CURLOPT_NOBODY 10013 PROCEDURE Main() LOCAL curl, res, url, startTime, endTime LOCAL speed url := "https://github.com/FiveTechSoft/harbour_and_xharbour_builds/raw/master/harbour_msvc2022_64_20240530.zip" startTime := Seconds() curl := curl_easy_init() IF curl!= Nil curl_easy_setopt(curl, CURLOPT_URL, url) // curl_easy_setopt(curl, CURLOPT_NOBODY, 1) // solo obtener headers res := curl_easy_perform(curl) endTime := Seconds() IF res == 0 speed := (endTime - startTime) / 60 // segundos a minutos ? "Velocidad de descarga:", speed * 1024, " KB/s" ELSE ? "curl_easy_perform() failed:", res, curl_easy_strerror(res) ENDIF curl_easy_cleanup(curl) ENDIF curl_global_cleanup() RETURN
no encuentro ninguna de las funciones que comienzan por curl_
enlace las lib hbcurl y hbcurls pero no aparecen al compilar.
donde estan?
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Re: Velocidad de Internet.
Jose,
Las funciones curl_* es parte da library CURL.
https://curl.se/download.html
Se utiliza vcpkg pode instalar lo package curl con lo comando
Las funciones curl_* es parte da library CURL.
https://curl.se/download.html
Se utiliza vcpkg pode instalar lo package curl con lo comando
Code: Select all | Expand
vcpkg install curl
Regards,
Lailton Fernando Mariano
Lailton Fernando Mariano
- Antonio Linares
- Site Admin
- Posts: 42259
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Velocidad de Internet.
Funcionando bien gracias a Carles Aubia!
Code: Select all | Expand
#include 'hbcurl.ch'
#define CURLOPT_NOBODY 10013
function speed()
local hCurl, nRet, uValue, hRows
local lError := .f.
local cUrl := "https://github.com/FiveTechSoft/harbour_and_xharbour_builds/raw/master/harbour_msvc2022_64_20240530.zip"
if ! empty( hCurl := curl_easy_init() )
curl_easy_setopt( hCurl, HB_CURLOPT_DOWNLOAD )
curl_easy_setopt( hCurl, HB_CURLOPT_URL, cUrl )
curl_easy_setopt( hCurl, HB_CURLOPT_SSL_VERIFYPEER, .f. )
curl_easy_setopt( hCurl, HB_CURLOPT_SSL_VERIFYHOST, .f. )
curl_easy_setopt( hCurl, HB_CURLOPT_FOLLOWLOCATION ) // Necesario para aquellos sitios que nos redirigen a otros
curl_easy_setopt( hCurl, HB_CURLOPT_FILETIME, 1)
//curl_easy_setopt(hCurl, CURLOPT_NOBODY, 1) // solo obtener headers
curl_easy_setopt( hCurl, HB_CURLOPT_DL_FILE_SETUP, 'c:\temp\z.zip' )
curl_easy_setopt( hCurl, HB_CURLOPT_NOPROGRESS, .t. )
curl_easy_setopt( hCurl, HB_CURLOPT_VERBOSE, .f. )
curl_easy_setopt( hCurl, HB_CURLOPT_FAILONERROR , .t. ) // Change cUrl Dummy
nRet := curl_easy_perform( hCurl )
if nRet == HB_CURLE_OK // HB_CURLE_OK == 0
? 'Size Download: ' + ltrim(str(curl_easy_getinfo( hCurl, HB_CURLINFO_SIZE_DOWNLOAD )))
? 'Time: ' + ltrim(str(curl_easy_getinfo( hCurl, HB_CURLINFO_TOTAL_TIME ))) + ' sec.' // receive the total time in seconds for the previous transfer, including name resolving, TCP connect etc.
? 'Bytes/sec: ' + ltrim(str(curl_easy_getinfo( hCurl, HB_CURLINFO_SPEED_DOWNLOAD ))) // bytes/sec
? 'Mb. Sec: ' + ltrim(str(curl_easy_getinfo( hCurl, HB_CURLINFO_SPEED_DOWNLOAD ) / 1024 /1024))
else
lError := .t.
? 'Error: ' + curl_easy_strerror( nRet )
endif
curl_easy_cleanup(hCurl)
endif
retu ! lError