Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Applet Java per Scambio file locale con Server.
Forum - Java - Applet Java per Scambio file locale con Server.

Avatar
andrea_IO (Normal User)
Newbie


Messaggi: 11
Iscritto: 11/05/2009

Segnala al moderatore
Postato alle 14:45
Lunedì, 11/05/2009
Salve a tutti sono un nuovo iscritto ma seguo da tanto come spettatore questo splendido sito.
Mi sono trovato a dovere implementare un'applet java che scambia file tra un server e un client. Per fare ciò so che devo avere un'applet firmata e fin qui ci sono..
Non so però da dove cominciare per fare questa benedetta applet..

Qualcuno/a sarebbe gentile da darmi qualche consiglio sul come strutturare l'applet?

Grazie in anticipo.

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 13:08
Mercoledì, 13/05/2009
La struttura è quella standard client/server.
Un programma server che attende connessione e un programma client che si connette.
Il programma più usato per apprendere questo funzionamento penso sia una semplice chat.
Diciamo che la problematica più importante la prima volta che si sviluppano queste applicazioni è la gestione col multi threading per gestire più client, infatti se il client è uno solo diventa tutto molto semplice: il server attende la connessione, legge lo stream; nel frattempo il client esegue la connessione scrive nello stream.
Se sono di più i client bisogna gestire i dati condivisi, l'accesso sincronizzato, le notifiche ecc... (anche se una volta capito in Java è tutto molto semplice)

Un esempio su internet potrebbe essere questo: http://www.mokabyte.it/1997/12/clientserver.htm

Per approfondire credo che qualsiasi testo tu stia usando per imparare Java tratti per bene l'argomento reti, a meno che non sia una semplice guida introduttiva o una oscena versione pocket.

PM Quote
Avatar
andrea_IO (Normal User)
Newbie


Messaggi: 11
Iscritto: 11/05/2009

Segnala al moderatore
Postato alle 9:51
Martedì, 19/05/2009
Ti ringrazio per il suggerimento.
Ho finalmente creato l'applet che riceve un file dal server, e un server che appunto la invia..
Solo che quando devo fare il contrario ovvero inviare un file al server dall'applet il server si blocca in ricezione..

Posto il codice se qualcuno mi aiuta a sbloccare la situazione gliene sarei grato..

Codice sorgente - presumibilmente Java

  1. client
  2.  
  3. //ho quest'array di byte.
  4. byte[] output = data3.getEncoded();
  5.  
  6. ObjectOutputStream oos = new ObjectOutputStream( clientSocket.getOutputStream() );
  7.  
  8.  
  9. // Invio il pacchetto dati al server
  10. oos.writeObject( output );
  11.  
  12.  
  13.  
  14. server
  15.  
  16. System.out.println("sto ricevendo..");
  17.                 ObjectInputStream dis = new ObjectInputStream(clientSocket.getInputStream());
  18. \\qui si blocca..              
  19.                 System.out.println("ricevuto");
  20.                                        
  21.                 ByteArrayOutputStream bos = new ByteArrayOutputStream();
  22.  
  23.             //lettura dallo stream
  24.             int r;
  25.             while ((r = dis.read()) != -1)
  26.             {
  27.                     System.out.println("ed è " + r);
  28.                 bos.write(r);
  29.             }


PM Quote
Avatar
andrea_IO (Normal User)
Newbie


Messaggi: 11
Iscritto: 11/05/2009

Segnala al moderatore
Postato alle 17:04
Martedì, 19/05/2009
ho risolto.
dovevo passare prima la lunghezza dell'array al server e leggere i tanti byte quanto la lunghezza del server.

PM Quote