Ciao a tutti,
Devo realizzare per lavoro una architettura client/server per la gestione remota di apparecchiature su cui gira del software realizzato in c++,queste macchine sono molto probabilmente dietro un router quindi per evitare la loro configurazione tramite un NAT ho pensato ti mantenere un canale socket attivo per ogni client(macchina).Cosi facendo (credo) aggirerei il problema del NAT in quanto il client non ha alcun problema ad uscire dalla propria rete per comunicare con il server (con ip pubblico) .
Ora mi chiedo ,è possibile questa cosa?o come architettura è sbagliata in principio?
Ora nel server che ho implementato (in parte) mi metto in ascolto su una porta stabilita....ad ogni richiesta di connessione creo un istanza di un oggetto che rappresenta il client che ha richiesto la connessione a cui passo l'istanza del socket,quest'oggetto ha un proprio thread che mantiene la connessione attiva in modo da essere poi utilizzato per la comunicazione.Questi oggetti vengono poi memorizzati in una lista dell'oggetto server,in modo da poter essere richiamati in un secondo momento.
Cosi facendo pero credo che l'istanza del socket che passo a questi oggetti sia sempre la stessa,perchè non faccio altro che passargli un riferimento. :master:
Ovviamente il sistema ha dei problemi...sto cercando di risolverli ma senza particolari successi e vorrei capire se questo è dovuto alla logica sbagliata dell'approccio al problema oppure dipende dal codice scritto male.
In secono luogo dovrei cercare di far comunicare delle pagine aspx con il mio server(applicazione a console) prevedo parecchi problemi anche qui!!!![]()
spero di non essere stato contorto nella spiegazione....qualsiasi idea è ben accetta!!!
![]()