Calcolo tempi di connessione

lunedì 28 agosto 2006 - 13.37

bluland Profilo | Guru

salve,
vorrei realizzare una un applicazione che mi calcoli gli effettivi tempi di connessione ad internet, quindi di navigazione, ma vorrei capire che tipo di controllo devo andare a fare e dove??

saluti

ENzo

Brainkiller Profilo | Guru

>salve,
>vorrei realizzare una un applicazione che mi calcoli gli effettivi
>tempi di connessione ad internet, quindi di navigazione, ma vorrei
>capire che tipo di controllo devo andare a fare e dove??

Spesso questi software erano di moda con la TAT (tariffa a tempo), oggi con tutte le ADSL non sono più di moda

In ogni caso puoi usare questa funzione:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/internetgetconnectedstate.asp
per capire se il PC è connesso.

Oppure più semplicemente con le classi del Framework tipo la WebRequest, fare una semplice GET, ad una pagina Web. In questo modo capisci se l'utente è connesso o meno ad Internet.

Naturalmente l'operazione deve essere fatta ogni minuto per esempio per calcolare il tempo che un utente resta connesso.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

bluland Profilo | Guru

>In ogni caso puoi usare questa funzione:
>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/internetgetconnectedstate.asp
>per capire se il PC è connesso.

lo vorrei scrivere in vb.net, o devo per forza farlo C++?? cmq la .dll richiesta nell'articolo dove la trovo??

>Oppure più semplicemente con le classi del Framework tipo la WebRequest, fare una semplice GET, ad una pagina >Web. In questo modo capisci se l'utente è connesso o meno ad Internet.

con questa soluzione significa che dovrei mettere un contatore che mi faccia la richiesta ogni tot secondi?

saluti

ENzo

Brainkiller Profilo | Guru

>lo vorrei scrivere in vb.net, o devo per forza farlo C++?? cmq
>la .dll richiesta nell'articolo dove la trovo??

No puoi scriverlo in VB.NET usando però la funzione nativa Win32API indicata nel documento. Bisogna naturalmente usare l'interoperabilità di .NET.

>con questa soluzione significa che dovrei mettere un contatore
>che mi faccia la richiesta ogni tot secondi?

Eh si direi di sì.
Questa è la soluzione più facile.

Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

bluland Profilo | Guru

mi interesserebbe approfondire la prima soluzione, cosa mi dovrei studiare per farlo?

dalla documentazione che ho visto ho le seguenti info:

1. la dll per usare questa funzione è Wininet.dll che trovo in system32
2. partendo da qui cosa dovrei imparare??

saluti
ENzo

EDIT:

a volte le soluzioni sono + vicine di quanto si immagina:
http://www.dotnethell.it/tips/Stato-Connessione-Internet.aspx

Brainkiller Profilo | Guru

Non mi sono neanche ricordato che c'era un Tip di Stefano

Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

bluland Profilo | Guru

>Non mi sono neanche ricordato che c'era un Tip di Stefano



ad ogni modo, InternetGetConnectedState l'ho provato su un pc parte di una lan, ed effettimante mi va a controllare la connessione fisica, infatti finche non spengo l'Hub mi dice connesso anche se magari il router e' spento.
ma come fanno ad esempio gli internet point a calcolare l'effettivo tempo di navigazione??

saluti

ENzo

Brainkiller Profilo | Guru

>ma come fanno ad esempio gli internet point a calcolare l'effettivo
>tempo di navigazione??

Altro capitolo... internet point. O così come ti ho indicato oppure leggendo dai Logs dei Proxy. Leggono la prima chiamata su Internet e l'ultima, prendono i tempi e fanno la differenza. Così esce un dato perfetto.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

bluland Profilo | Guru

>Altro capitolo... internet point. O così come ti ho indicato oppure leggendo >dai Logs dei Proxy. Leggono la prima chiamata su Internet e l'ultima, >prendono i tempi e fanno la differenza. Così esce un dato perfetto.

logs dei proxy e come? o meglio da dove? ma poi come fanno leggono i logs di ogni client???

>Ciao

Ciao

blood Profilo | Senior Member

avranno un centralino che registra il numero chiamante e la durata della telefonata....fanno la differenza della data finale con la data iniziale e hanno la durata....ma questo dubito faccia al caso tuo...comunque fossi in te nemmeno farei una richiesta http in quanto, una cattiva configurazione del browser predefinito causerebbe uno sfalso del tuo programma....io fossi in te ti consiglierei di fare una richiesta di resolve (c'è il metodo System.Net.DNS.Resolve()), che se reversa un dato hostname (metti caso google.it) allora vuoldire che è presente in rete...anche se comunque sia anche qui una configurazione errata dei dns porterebbe il tuo programma a fallire...però bisogna anche dire che se i tuoi DNS non reversano non navighi nemmeno almeno da hostname...ma chi è che ricorda gli indirizzi IP dei siti a memoria??
---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5