Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla
DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla
DJI ha appena ufficializzato la serie Lito, la sua nuova gamma di droni entry-level destinata a chi si avvicina per la prima volta alla fotografia aerea. Al centro dell'annuncio ci sono due modelli ben distinti per fascia di prezzo e specifiche tecniche: DJI Lito 1 e DJI Lito X1. Entrambi si collocano sotto la soglia regolamentare dei 249 grammi, che permette di volare con requisiti burocratici più semplici rispetto ai droni più pesanti.
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi
Siamo stati a Londra per la premiazione dei Sony World Photography Awards 2026, l'evento a tema fotografia più prestigioso. Fra sorprese e novità, ne approfittiamo per fare il punto sulla fotografia contemporanea, in cui la didascalia è sempre più necessaria a cogliere il senso della quasi totalità degli scatti.
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince
L'elettrica di casa Hyundai propone una versione AWD con estetica derivata dalla famiglia N. L'abbiamo provata per diversi giorni, per scoprire tutti i dettagli e la vera autonomia in autostrada
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-04-2009, 11:13   #1
kleo87
Junior Member
 
Iscritto dal: Apr 2008
Messaggi: 11
[JAVA]Client che fa da server

Buongiorno a tutti..spero di essere nella sezione giusta e di aver messo il titolo giusto

Vi illustro subito il mio problema...
Sto progettando un sistema distribuito composto da un clientB e un serverA (per realizzare ciò utilizzo un pattern proxy)...il clientB riceve dal serverA una lista di oggetti che devo utilizzare per dare una conferma ad un'altra classeC... nella mia ignoranza quindi ho supposto che:



ClasseA(Server) ---->ClasseB(Client/Server)----> ClasseC(Client)



E' possibile che la ClasseB sia Client e Server nello stesso momento... facendo quindi parte di due strutture proxy???

Vi prego aiutatemi...e non ridete se ciò che ho pensato è una cavolata

Ultima modifica di kleo87 : 16-04-2009 alle 11:16.
kleo87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 12:18   #2
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Eh la società moderna, maschi che fanno da femmine, femmine che fanno da maschi, client che fanno da server.... non c'è più religione!!!!
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 12:22   #3
kleo87
Junior Member
 
Iscritto dal: Apr 2008
Messaggi: 11
Esiste la parità di sessi e scusa se non tutti nascono imparati come solo voi uomini siete in grado di fare..

Qualcuno di veramente intelligente e gentile mi può aiutare?
kleo87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 12:27   #4
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Quote:
Originariamente inviato da kleo87 Guarda i messaggi
Esiste la parità di sessi e scusa se non tutti nascono imparati come solo voi uomini siete in grado di fare..

Qualcuno di veramente intelligente e gentile mi può aiutare?
Adesso ti dirò dall'alto della mia intelligenza qualcosa che sicuramente ti sorprenderà in modi che non puoi nemmeno immaginare, pronto a ricevere l'illuminazione?

Esiste qualcosa chiamata "Ironia" (la definizione te la googli).

Lo so, come rivelazione è sconvolgente, soprattutto detta così tutta d'un botto, ma vedrai che se riuscirai a farla tua ne rimarrai folgorato dalla sua bellezza.
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 12:35   #5
kleo87
Junior Member
 
Iscritto dal: Apr 2008
Messaggi: 11
mmh una persona cerca aiuto e riceve ironia..uauh
kleo87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 12:36   #6
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Quote:
Originariamente inviato da kleo87 Guarda i messaggi
mmh una persona cerca aiuto e riceve ironia..uauh
....dove andremo a finire......
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 12:42   #7
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Mentre aspettiamo qualcuno di veramente intelligente rispondo io.

Non vedo problemi tecnici o concettuali nel realizzare ciò che hai pensato. I pattern sono fatti apposta per essere combinati. Nel tuo caso combini un proxy con un proxy. Non è una cosa bizzarra. Basti pensare al factory pattern. In Java la classe che produce è a sua volta il prodotto di un factory pattern. Nulla di strano insomma.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 12:55   #8
kleo87
Junior Member
 
Iscritto dal: Apr 2008
Messaggi: 11
mmh allora ti pongo l'altro problema..posto ke è possibile "unire" due proxy il mio schema ipotetico usando UML sarebbe quello allegato..però mi viene un dubbio..

in classeB io creo un'istanza di interfacciaBstub che invoca a sua volta i metodi tramite socket all'interfacciaBskel; nel frattempo classeB mi istanzierebbe un oggetto interfacciaCskel, che prende la socket e interfacciaCimpl (quella che materialmente esegue i metodi richiesti dalla classeC).

A questo punto l'oggetto interfacciaCskel che ho appena creato lo faccio partire con il metodo run(): se run() è in funzione io nn posso+usare l'oggetto interfacciaBstub poichè il metodo run è iterativo.

Come ovvio a questo?

Forse mi sn spiegata male..spero capirete :P
Immagini allegate
File Type: png diagrammaAiuto.png (3.1 KB, 5 visite)
kleo87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 13:11   #9
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Se il servizio del proxy è sincrono non potresti usare la sua interfaccia prima del termine della richiesta a prescindere dal fatto che la richiesta sia espletata tramite un secondo proy o no.

Se il servizio è asincrono l'iteratività di run è irrilevante.

Dallo schema (bskel e cskel sono thread) direi che potremmo essere nel secondo caso.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 13:20   #10
kleo87
Junior Member
 
Iscritto dal: Apr 2008
Messaggi: 11
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Dallo schema (bskel e cskel sono thread) direi che potremmo essere nel secondo caso.
si quei due sono thread ma non so dirti se sto facendo un lavoro sincrono o asincrono..ti spiego è la prima volta ke faccio un proxy e non ho idea della differenza..

mmh forse ho capito..la classeC chiede alla classeB una lista, questo metodo viene effettivamente eseguito da interfacciaCimpl, quest'ultima può eseguire il metodo presente in interfacciaBstub che richiede a classeA la lista..

questo è fattibile giusto?se si ho risolto..mi interessa che sta lista passi da interfacciaBimpl a interfacciaBstub a interfacciaCimpl che la passa a classeC. poi una volta che avrò terminato di usare classeB come server (e quindi finito il metodo run()) posso usare classeB per svolgere altri metodi come client con la classeA

Ultima modifica di kleo87 : 16-04-2009 alle 13:28.
kleo87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 13:22   #11
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Mentre aspettiamo qualcuno di veramente intelligente rispondo io.

Non vedo problemi tecnici o concettuali nel realizzare ciò che hai pensato. I pattern sono fatti apposta per essere combinati. Nel tuo caso combini un proxy con un proxy. Non è una cosa bizzarra. Basti pensare al factory pattern. In Java la classe che produce è a sua volta il prodotto di un factory pattern. Nulla di strano insomma.
Mi dispiace, non sei compliant all'elevato standard di intelligenza richiesto in questo 3D, avanti il prossimo
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 13:27   #12
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Il sincrono/asincrono è una questione di concorrenza più che di proxy.

Il fatto che skelB e skelC siano Thread mi fa supporre che siano servizi asincroni.

Asincrono nel senso che il client chiede qualcosa e il server risponde "ok, ti chiamo io quando ho la risposta".

Il server parte e il client continua a fare quello che gli pare. Al limite può anche mettersi in attesa della risposta.

In quest'ottica è indifferente che il metodo che esegue il servizio sia ciclico: il client richiede l'esecuzione e ottiene immediatamente la restituzione del controllo il che gli consente di inoltrare nuove richieste.

Il server poi deciderà come gestire questo accumulo di richieste.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 13:28   #13
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Quote:
Originariamente inviato da morskott Guarda i messaggi
Mi dispiace, non sei compliant all'elevato standard di intelligenza richiesto in questo 3D, avanti il prossimo
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 13:51   #14
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Tornando seri, mi sa che c'è un po di confusione tra classe che implementa un metodo e thread che esegue quel metodo.
Nel caso sincrono, a grandi linee ma PGI-Bis l'ha spiegato meglio, il thread client chiede qualcosa al thread server, il thread server esegue la sua computazione mentre il thread client sta fermo aspettando e quando ha finito dà il risultato al thread client che riprende la sua computazione, mentre nel caso asincrono il client chiede al server qualcosa e va avanti facendo qualcos'altro, il server computa e, magari tramite una call-back (per esempio quando il client richiede il servizio registra al server un metodo da chiamare quando il server ha finito) dà la risposta al client.

Il server stesso ortogonalmente al discorso sincrono/asincrono può essere multi-thread, nel senso che appena riceve una richiesta fa partire un thread di handling della richiesta stessa e si rimette in ascolto per servire nuove richieste, il metodo di gestione è scritto una volta, ma ci saranno n thread che lo eseguono (con tutti i problemi del caso di sincronizzazione delle risorse condivise).

Comunque, se non sei vincolato da constraint di specifica, mi rivolgerei piu a Java RMI che a socket, molto più pulito e semplice. (ti occupi solo della logica di business dei tuoi oggetti fregandotene dell'aspetto della comunicazione), se vuoi info su Java RMI vedi queste slides.
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 14:02   #15
kleo87
Junior Member
 
Iscritto dal: Apr 2008
Messaggi: 11
allora ora ho capito..deve essere sincrono e multi-thread..cmq sn obbligata ad usare la socket (il docente richiede l'implementazione così) cmq ho risolto il mio dubbio e dovrei essere a posto così..

grazie mille dell'aiuto alla prossima
kleo87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 14:20   #16
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Per l'handling delle richieste (mo non ho visto l'UML) a grandi linee
Codice:
Class MiaClasseDiHandling implements Runnable{
//Risorse che il server deve utilizzare per l'handling come membri private di classe, tra cui il socket
private Socket s;

public MiaClassDiHandling(Socjet s,//eventuali parametri di inizializzazione){
//Inizializzazione delle risorse
this.s=s;
}

public void run(){
//metodo per l'handling della richiesta
}
}
public class Server{

//Definizione del server

public void avviaHandlingRichieste() throws Exception{ //vedere meglio l'handling delle eccezioni
ServerSocket ss=new ServerSocket(portaDiAscolto);
while (!devoSpegnereIlServer){
Socket s=ss.accept();
MiaClassDiHandling handler=new MiaClassDiHandling(s, //piu altri eventuali parametri);
Thread t=new Thread(handler);
t.start();
}
ss.close();
}
}
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB
morskott è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla DJI Lito 1 e Lito X1 recensione: i nuovi droni p...
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi Sony World Photography Awards 2026: i premiati, ...
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince Una settimana con Hyundai Ioniq 5 N-Line: divert...
Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo Recensione OPPO Find X9 Ultra: è lui il c...
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Apple prepara un restyling per la linea ...
Il MacBook Neo trascinerà Apple: ...
I genitori potranno verificare gli argom...
ESA e Northrop Grumman confermano la cor...
Il telescopio spaziale Nancy Grace Roman...
iPhone Ultra, periodo di lancio conferma...
Un anno fa debuttava Clair Obscur:&...
Tutte le offerte sugli smartphone ora pi...
Tutte le offerte sui TV ora su Amazon: u...
Xbox Game Pass sarà disponibile a...
La serie HONOR 600 avrà presto un...
Mova Viax 250 in prova: il robot tagliae...
Fat e-bike per tutti: sconti Engwe, pi&u...
Google conferma l'arrivo della nuova ver...
Apple ha trovato il modo per abbassare i...
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: 21:43.


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