Progettazione di un programma che esegue script su più computer (Java)

2

Ho cercato di progettare un programma in Java (perché potrei aver bisogno di creare un'app che faccia parte del controllo) con GUI in grado di eseguire script su alcuni computer locali.

Dovrebbe fare quanto segue:

Client: dovrebbe solo ascoltare le connessioni in entrata e accettarle da una porta e da un indirizzo IP specifici. Quando viene stabilita una connessione, attendere le istruzioni. Una volta che un'istruzione viene letta, dovrebbe eseguire gli script e notificare al server che uno script è stato avviato o meno. In definitiva dovrebbe mantenere attive queste connessioni per 8 ore e ripetere lo stesso processo ogni giorno.

Server: dovrebbe essere in grado di connettersi a più client, inviare istruzioni quando necessario e registrare i dati (come il nome dello script, l'ora e se è stato lanciato con successo sul computer client).

Dato che non sono un programmatore esperto non posso decidere se questo sarebbe il solito modo di farlo.

  • Devo creare socket e thread per ogni istruzione che si chiuderà dopo l'esecuzione di uno script. Quindi creane di nuovi per la prossima istruzione?
  • Come devo gestire i disconnessioni?
  • Che cosa devo usare per trasferire queste istruzioni?
  • Come devo proteggere questi computer?

Voglio anche aggiungere un modo per essere in grado di inviare dati da remoto a questi computer con nuovi script e altri file (non più di 50-60 MB).

In definitiva c'è un modo migliore per farlo?

    
posta Dangz1 04.06.2016 - 10:16
fonte

1 risposta

1

Un approccio alternativo potrebbe essere, per creare una semplice web app manager e eseguirla su un server web locale. Poiché si tratta di un'app Web, è possibile accedervi da un tablet, un PC, un telefono o qualsiasi altra cosa.

Gli amministratori (lavoratori) selezionano quale computer deve riprodurre quale video, dal gui dell'app della web manager. Le app client controllano periodicamente l'app Web (ad esempio una volta ogni 5 secondi) per vedere se viene detto loro di suonare. Dopo che i client hanno finito di giocare, lo segnalano al server (web app). Per i file e gli script, li metti sul server e i client controllano i file come controllano i comandi e scaricano qualsiasi cosa sia richiesta dal server.

O utilizza websocket ed elimina la necessità di polling continuo.

Questo approccio potrebbe richiedere più conoscenze di programmazione e più codifiche dei socket, ma i socket richiedono più gestione, come la gestione degli indirizzi IP e delle porte di ogni client.

Alla fine entrambi gli approcci sono fattibili e fattibili, penso, ma ancora meglio, potrebbero esserci alcuni prodotti prontamente costruiti in grado di soddisfare le vostre esigenze.

(Windows gioca a funzionalità o qualcosa di simile forse un aiuto: link )

    
risposta data 11.06.2016 - 02:02
fonte

Leggi altre domande sui tag