Client/server scambio file

di il
3 risposte

Client/server scambio file

AIUTO..
ho bisogno di un aiuto urgente per creare una programma in java che gestisca lo scambio di file fra client e server.
non sò da dove partire per scriverlo di sicuro sò che devo usare i thread e l'interfaccia grafica con i jframe.
il server penso si debba connettere ad un indirizzo tipo 127.0.0.1 e ad una porta 1024.
se qualcuno ha suggerimenti facili da capire e da mettere in pratica sono bem accolti!!!!! grazie dell'aiuto!!!!

3 Risposte

  • Re: Client/server scambio file

    Per mettere in ascolto il server si utilizza la classe ServerSocket che ha definito al suo interno il metodo accept() (capace di porre il server in attesa fino alla connessione di un client).
    Il client, d'altra parte, utilizzera un oggetto della classe Socket per connettersi ad un server (il quale, naturalmente, deve già essere in attesa tramite il procedimento a cui mi riferivo prima).
    Dunque client e server comunicano tramite un socket, e tramite questo socket tu trasferirai i dati che ti interessa far giungere al server (o al client, è indifferente).
    Nel tuo specifico caso, i dati da spedire sono file, dunque dovresti leggere il file da una parte e spedirlo dall'altra (facendo uso del socket il quale ha uno stream di input e uno di output).
    Quello che devi fare è leggere il file tramite un FileInputStream, porre le porzioni del file lette in un array di byte e spedirle al ricevente; questo fino a quando il file non viene letto completamente.
    Dall'altra parte invece ci sarà il ricevente, che dal canto suo ricevera questo flusso di byte e li scriverà tramite un FileOutputStream nel file finale.
    Studiati le classi cardine (Socket, ServerSocket, FileInputStream, FileOutputStream) e la gestione degli stream in java.
    Non è nulla di complicato se si studia. Il problema è, appunto, studiare
  • Re: Client/server scambio file

    Grazie dell'aiuto. metterò in atto quello che mi hai consigliato.
  • Re: Client/server scambio file

    Ah un'altra cosa... Connettersi all'indirizzo 127.0.0.1 (che è poi equivalente all'indirizzo localhost) equivale ad effettuare una connessione di rete sul tuo stesso computer. In pratica client e server staranno sulla tua macchina ma comunicano tramite connessione di rete (altrimenti sarebbe impossibile poter gestire entrambi). Ciao
Devi accedere o registrarti per scrivere nel forum
3 risposte