Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-06-2010, 18:08   #1
seibi
Member
 
Iscritto dal: Oct 2009
Messaggi: 30
[java] Network Monitor

ciao a tutti, devo realizzare un progetto di network monitor per monitorare le prestazioni di una rete... tra le funzioni richiesta vi è un test di velocita di trasmissione dati... l'architettura è formata da un server e da vari Client dislocati sulle varie macchine che compongono la rete... la mia domanda è come posso far comunicare due client senza passare per il server al quale sono connessi???
devo creare una nuova serversocket??

grazie in anticipo

OS : win
seibi è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2010, 18:21   #2
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
il test del throughput visto dal livello applicazione lo puoi fare in java attraverso i socket. Se ti interessano invece statistiche dei livelli più bassi devi poggiarti alle API del SO.
Quanto al tipo di architettura, se client/server o p2p dipende dalle tue specifiche esigenze, ma questo poco interessa poi ai fini della scelta del livello trasporto e quindi dell' implementazione in JAVA.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2010, 18:25   #3
seibi
Member
 
Iscritto dal: Oct 2009
Messaggi: 30
si anche io volevo farlo attraverso le socket, ma non riesco a mettere in contatto tra di loro due client? devo per caso creare una ServerSocket su uno dei client?

grazie per la risposta
seibi è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2010, 18:31   #4
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da seibi Guarda i messaggi
si anche io volevo farlo attraverso le socket, ma non riesco a mettere in contatto tra di loro due client? devo per caso creare una ServerSocket su uno dei client?

grazie per la risposta
si per instaurare una connessione TCP c'è bisogna che una delle 2 entità coinvolte faccia binding su una porta.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2010, 18:40   #5
seibi
Member
 
Iscritto dal: Oct 2009
Messaggi: 30
ho fatto una prova...allora la situazione è questa:

Server e client1 sono sulla stessa macchina

client2 è su un'altra;

la serversocket la crea client1, però quando in client2 mi vado a connettere attraverso Socket s = new Socket(nomepc,porta) mi da errore (connection timeout), mentre se uso Socket s = new Socket(IP,porta) funziona .

cosa pensate possa essere?
seibi è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2010, 18:44   #6
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
se passi un riferimento mnemonico all' host, devi essere sicuro che l' infrastruttura di rete sia in grado di risolverlo, in questo caso attraverso netbios o un local DNS.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2010, 19:06   #7
seibi
Member
 
Iscritto dal: Oct 2009
Messaggi: 30
a quanto pare non ho chiare delle cose sulle socket.... perchè se io su entrambe i client faccio

InetAddress address = InetAddress.getByName(nome pc);
System.out.println(address);


il risultato della sistem.out è sempre lo stesso in entrambe i casi.... :S cambia solo il nome del pc ma l'ip è lo stesso NOME PC/IP
seibi è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2010, 19:14   #8
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
se tu metti localhost oppure il nome del pc-locale avrai sicuramente una risoluzione (almeno che non sia corrotto il file hosts). Se metti il nome di un altro pc, lavorando si windows al 99% riuscirai a risolverlo tramite netbios, ma se questi è disabilitato oppre la rete è mista è necessario che quel nome venga risolto da un DNS.
Ora credo il tuo caso rientri nelle ipotesi più semplici.
Alternativamente puoi creare all' interno del tuo protocollo un sistema proprietario di naming, in grado di associare ad un nome il corrispettivo host.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2010, 19:28   #9
seibi
Member
 
Iscritto dal: Oct 2009
Messaggi: 30
si il mio è il caso piu semplice...però non riesco ancora a capire una cosa...

perchè se faccio:
InetAddress address = InetAddress.getByName(nomePClocale);
System.out.println(address);


e

InetAddress ia = InetAddress.getLocalHost();
System.out.printlm(ia.getHostAddress());

nella stessa classe ottengo due IP diversi??? non dovrebbe essere identico
seibi è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2010, 19:30   #10
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
uno ti restituisce l' indirizzo di loopback, l' altro quello dell' interfaccia di rete.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2010, 19:34   #11
seibi
Member
 
Iscritto dal: Oct 2009
Messaggi: 30
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
uno ti restituisce l' indirizzo di loopback, l' altro quello dell' interfaccia di rete.
e io quando creo la socket per la connessione verso laltro client devo usare quello di loopback e quindi il primo vero?
seibi è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2010, 19:38   #12
seibi
Member
 
Iscritto dal: Oct 2009
Messaggi: 30
la mia difficoltà è nel reperire l'IP del client per metterlo nel primo campo del metodo socket...io del client ho a disposizione il nome
seibi è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2010, 19:39   #13
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
devi utilizzare il primo, che non è quello di loopback.
Probabilmente ti è utile capire un po come funziona il protocollo ip (ed eventualmente trasporto), in modo da maneggiare meglio i Socket, che ne rappresentano un' astrazione.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2010, 03:20   #14
seibi
Member
 
Iscritto dal: Oct 2009
Messaggi: 30
grazie per i preziosi consigli, ho quasi risolto tutti i problemi tranne questo:
ho bisogno di convertire un indirizzo IP che ho sotto forma di stringa in oggetto InetAddress....come posso farE???
seibi è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2010, 10:40   #15
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
come hai già fatto nei post precedenti va bene.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2010, 12:58   #16
seibi
Member
 
Iscritto dal: Oct 2009
Messaggi: 30
ho finalmente impostato la connessione UDP però quando vado a spedire un pacchetto dal client 1 al client 2 il pacchetto arriva solo nel caso 1->2 .

nel caso 2->1 il serverUDP rimane in attesa del pacchetto...

ho fatto delle prove e questo succede solo quando a fare da server è il client che non è in locale con il SERVERCENTRALE.

può essere che visto che è in locale la send arriva prima delle receive?
seibi è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2010, 19:47   #17
seibi
Member
 
Iscritto dal: Oct 2009
Messaggi: 30
perfetto, ho risolto quasi tutto...!! grazie per i preziosissimi consigli!! ora mi manca solo costruire un grafo dove rappresentare la velocità di connessione tra i vari client....ma esiste qualche libreria grafica di java che faccia questo?
seibi è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2010, 09:30   #18
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da seibi Guarda i messaggi
ora mi manca solo costruire un grafo dove rappresentare la velocità di connessione tra i vari client....ma esiste qualche libreria grafica di java che faccia questo?
Prova a dare un'occhiata a JGraph o a JUNG.
Oppure prova a cercare in questa lista: http://www.dmoz.org/Science/Math/Com...Graph_Drawing/
__________________

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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2010, 10:27   #19
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da seibi Guarda i messaggi
ho finalmente impostato la connessione UDP però quando vado a spedire un pacchetto dal client 1 al client 2 il pacchetto arriva solo nel caso 1->2 .

nel caso 2->1 il serverUDP rimane in attesa del pacchetto...

ho fatto delle prove e questo succede solo quando a fare da server è il client che non è in locale con il SERVERCENTRALE.

può essere che visto che è in locale la send arriva prima delle receive?
In ogni caso, il test lo svilupperei su TCP, per dare un misura di reale utilizzo della connessione.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2010, 12:35   #20
seibi
Member
 
Iscritto dal: Oct 2009
Messaggi: 30
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
In ogni caso, il test lo svilupperei su TCP, per dare un misura di reale utilizzo della connessione.
li dovevo fare tutti e due, TCP e UDP, cmq ora ho risolto, mi funzionano tutti e due
seibi è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Oracle NetSuite si potenzia con nuove fu...
Musica generata con l'IA: Sony lavora a ...
Cyberpunk 2077 in versione PC su smartph...
BYD si gioca un grosso jolly: pronta Rac...
Samsung annuncia l'arrivo in Italia dei ...
Offerta lancio Pixel 10a: come ottenere ...
Google presenta Pixel 10a: poche le novi...
Caos F1 2026: 14 monoposto senza omologa...
Tesla festeggia il primo Cybercab prodot...
Desktop piccolo e potente? NZXT H2 Flow ...
Polestar spinge sull'acceleratore: arriv...
Nuovo record mondiale nel fotovoltaico: ...
L'ultimo baluardo cade: fine supporto pe...
'Il mondo non ha mai visto nulla di simi...
La Commissione europea mette sotto indag...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:45.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v