Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
Al MWC Qualcomm annuncia una coalizione industriale per lanciare il 6G entro il 2029 e introduce agenti IA per la gestione autonoma della RAN. Ericsson, presente sul palco, conferma la direzione: le reti del futuro saranno IA-native fin dalla progettazione
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air è un ultraleggero da 1 kg con Ryzen 5 6600H, display 14" 16:10 e 16 GB LPDDR5. Offre buona portabilità, autonomia discreta e costruzione in alluminio, ma storage PCIe 3.0 e RAM saldata limitano l'espandibilità. A 549 euro sfida brand più noti nella stessa fascia di mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-04-2009, 12: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 12:16.
kleo87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 13: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, 13: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, 13: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, 13: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, 13: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, 13: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, 13: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, 14: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, 14: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 14:28.
kleo87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 14: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, 14: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, 14: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, 14: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, 15: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, 15: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


Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
Un modder fa girare Linux su PS5: GTA V ...
MacBook Neo: nessuna sorpresa nei primi ...
La serie POCO X8 Pro è pronta al ...
Smartphone: 2026 difficile per il mercat...
Star Wars: Knights of the Old Republic R...
Huang, NVIDIA: OpenClaw ha realizzato in...
Annunciano il recupero di 4,8 milioni di...
Oggi degli ottimi auricolari Sony con ca...
Muffa in casa? Questo deumidificatore da...
Sonos Era 100: il punto d'ingresso per u...
"Non stiamo sostituendo nessuno con...
Tutti i robot in offerta ora: prezzi bas...
Fra 3 giorni, a mezzanotte, Amazon attiv...
Il principale limite del MacBook Neo &eg...
899€ in tutti i colori, crolla il prezzo...
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: 17:37.


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