|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2009
Città: Provincia di Salerno
Messaggi: 541
|
[JAVA] Qale classe Java gestisce la connessione alla rete del sistema?
Salve a tutti, qualcuno sa indicarmi la classe Java che gestisce la connessione ad internet del sistema?
Mi serve tale classe per estrapolare informazioni quali velocità di upload e download, quantità di dati trasmessi e ricevuti, e per offrire funzioni quali chiusura della connessione e riavvio della connessione... |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
Di classi ce ne sono molte! Dai uno sguardo al package java.net
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Io ti consiglio una lettura ai Java Tutorials:
- Trail: Custom Networking (The Java Tutorials)
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Credo che voglia una sorta di gestione delle connessioni di rete. Non c'è una librerie Java - quantomeno non nel jre - che lo faccia, devi interfacciarti al sistema operativo con JNI.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#5 | ||
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Quote:
![]()
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
||
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Se il suo interesse è simulare uno dei tanti test di velocità già presenti, possono bastare anche solo i socket, in quanto alla fine va a calcolarsi i valori visti dal livello applicazione (quello che di solito si fa scambiando un file di grosse dimensioni, con la differenza che si tiene conto del tempo di scrittura su disco) con solo l' overhead introdotto dalla computazione della jvm, che potrebbe essere trascurabile.
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Aug 2009
Città: Provincia di Salerno
Messaggi: 541
|
Quote:
![]() Ma anzichè utilizzare il JNI, non c'è un modo per non perdere astrazione rispetto al sistema operativo? Avete parlato anche dei socket, ma da come ho capito i socket non servono ad instaurare connessioni tra due programmi mediante la rete? Quel che voglio fare io invece è del tutto differente... Ultima modifica di Speed_89 : 26-02-2010 alle 13:24. |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
I socket in questo caso non c'entrano nulla.
L'astrazione la mantieni anche con JNI. Si tratta semplicemente di definire la tua interfaccia al servizio di sistema, ad esempio una cosa tipo: Codice:
class ConnectionMonitor{ public boolean isSupported() { ..verifica se hai una libreria dinamica disponibile } /** Attiva il monitoraggio della connessione */ public native void open(); public native float getAverageUploadSpeed(); public native float getAverageDownloadSpeed(); /** quanti bytes sono stati inviati a partire da open() */ public native long getSentBytesCount(); /** quanti bytes sono stati ricevuti a partire da open() */ public native long getReceivedBytesCount(); /** Termina il monitoraggio della connessione */ public native void close(); /** Termina la connessione */ public native void stopConnection(); /** Attiva la connessione */ public native void startConnection(); } Poi col tuo modulo JNI vai a collegare queste funzioni al sistema. Tra manuali, tutorial e siti di riferimento scovare manciata di linee di codice C che ti permettono di definire funzioni come queste - che sono di livello relativamente alto - è raramente complicato.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Aug 2009
Città: Provincia di Salerno
Messaggi: 541
|
Ok, penso di aver afferrato il concetto...
Correggetemi se sbaglio... 1) devo creare una dll in c che implementi queste funzioni 2) devo creare una classe come quella suggeita da PGI-bis, che richiami le funzioni della precedente dll... Ma in questa classe, devo definire o no le funzioni dichiarate come native? E che significato ha "native"? Che l'associazione metodo->implementazione sarà risolta a runtime quando sarà trovata la dll? |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Aug 2009
Città: Provincia di Salerno
Messaggi: 541
|
Mi sto uccidendo per trovare la libreria con le funzioni che fann oal caso mio...
Sono incappato nella "WinInet.dll", ma non riesco a trovare uno straccio di documentazione! ![]() Niente... Qualcuno conosce la libreria di windows che contiene le funzioni per la gestione della connessione alla rete? :S Ultima modifica di Speed_89 : 26-02-2010 alle 20:22. |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Per windows prova a cercare su MSDN.
Per JNI, crei prima la classe coi metodi nativi, poi la compili con javah... non è affatto difficile ma sono richiesti un po' di passaggi. Qui c'è un tutorial di S..Oracle ( ![]() http://java.sun.com/developer/online...CBook/jni.html Qui ce il manualozzo di JNI http://java.sun.com/j2se/1.5.0/docs/...ec/jniTOC.html PS: sempre riguard a msdn, prova a partire da qui http://msdn.microsoft.com/en-us/libr...86(VS.85).aspx e vedi se trovi qualcosa.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! Ultima modifica di PGI-Bis : 26-02-2010 alle 21:25. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:03.