CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: gianpassa con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 10 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Pagina 1 di 2 12 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 12
Discussione:

Applicazione Client-Server....esempi??

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jan 2011
    Messaggi
    19

    Ringraziamenti
    2
    Ringraziato 3 volte in 3 Posts
    Predefinito

    Applicazione Client-Server....esempi??

    Salve a tutti,

    sono alle prime armi con la programmazione Android e mi serverebbe del codice di esempio per realizzare una applicazione Client-Server via bluetooth o wireless.

    Mi sapete dire dove posso trovare del codice "da guardare" per imparare un pò come realizzare questo tipo di applicazioni??


    Grazie.

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Jan 2011
    Messaggi
    19

    Ringraziamenti
    2
    Ringraziato 3 volte in 3 Posts
    Predefinito

    La mia idea è quella di far comunicare due emulatori fra loro....si può fare??

    Il bluetooth non è supportato dall'emulatore e allora sto provando con un Client-Server TCP; per ora ho fatto un server tcp che gira sul pc e un client su android per vedere se riuscivo a farli comunicare ma non ci sono riuscito


    Posso postare il codice e chiedere un consiglio?

  4. #3
    Androidiano L'avatar di DarthSith


    Registrato dal
    Jan 2010
    Messaggi
    256

    Ringraziamenti
    1
    Ringraziato 14 volte in 14 Posts
    Predefinito

    Posta pure.
    Riguardo al bluetooth sulle api demos c'è un sample: bluetooth chat.

  5. #4
    Baby Droid


    Registrato dal
    Jan 2011
    Messaggi
    19

    Ringraziamenti
    2
    Ringraziato 3 volte in 3 Posts
    Predefinito

    Dopo un pò di "smanettamenti" ho risolto il problema e sono riuscito a mettere in comunicazione un server e un client che "girano" su due emulatori diversi.

    Posto il codice e le operazioni da eseguire....magari possono essere utili a qualcuno.


    SERVER
    E' necessaria una operazione di forward della porta che il server utilizzerà per restare "in ascolto" in attesa di connessioni. Avviate l'emulatore su cui volete far "girare" il server e da terminale (linux) o da finestra dos (windows) eseguite il comando:
    telnet localhost 5554
    5554 è nel mio caso il numero che identifica l'emulatore su cui gira il server; questo dato è facilmente reperibile avviando l'emulatore sul vostro pc e prendendo il numerino che viene indicato accanto al nome che avete associtato al vostro device virtuale.

    Una volta stabilita la connessione con il terminale eseguite il comando:
    redir add tcp:5000:5000
    5000 è la porta che ho usato io nell'esempio, potete anche utilizzarne altre modificando opportunamente il codice.

    A questo punto avviate il server sul terminale appena settato.

    CLIENT
    Per quanto riguarda il client non è necessario effettuare operazioni di forward; l'unica accortezza è quella di indicare come indirizzo ip del server "10.0.2.2" e non "localhost" oppure "127.0.0.1" altrimenti i due non riusciranno mai a comunicare.
    Create un altro emulatore e avviate il client sul nuovo device.


    Allego il codice perchè magari può essere utile a qualcuno.

    Questo è il risultato finale....ovviamente è un esempio molto banale ma mi è servito per capire come mettere in comunicazione due terminali virtuali
    File allegati

  6. Il seguente Utente ha ringraziato PROBO per il post:

    Pitr (11-07-13)

  7. #5
    Greg
    Guest
    Predefinito

    Ciao, ho provato la procedura ma non funziona, perchè nel momento che avvio l'emulatore del server, setto la connessione telnet, quando vado ad avviare il server: SocketTest -> Run As -> Android Application, mi dà il seguente errore:
    codice:
    [2011-03-14 17:28:56 - Emulator] emulator: ERROR: the user data image is used by another emulator. aborting

  8. #6
    Baby Droid


    Registrato dal
    Jan 2011
    Messaggi
    19

    Ringraziamenti
    2
    Ringraziato 3 volte in 3 Posts
    Predefinito

    Ho trovato queste info on-line:
    • Chiudi l'emulatore
    • Elimina le directory *.img.lock che si trovano nella directory ".android/avd/<device>/" nella home dell'utente che esegue l'emulatore stesso
    • Riavvia l'emulatore


    Alcuni dicono che si possono eliminare tutti i file presenti nella directory del punto 2 esclusi questi:
    • config.ini
    • scard.img
    • userdata.img



    Non ho mai avuto questo tipo di problemi quindi eventualmente prova prima la soluzione "due" tenendo i tre file che ho elencato e se non va ancora prova cancellando tutta la cartella.

  9. #7
    Baby Droid


    Registrato dal
    Aug 2011
    Messaggi
    3

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    ciao. ho provato il codice e funziona alla grande.
    c'è solo un problema... se obbligo il server a chiudersi per qualche motivo il socket non viene chiuso e ad un successivo avvio dell'applicazione da questo errore:
    java.netBidnException: adresse is already in use

    qualcuno ha risolto questo problema?

  10. #8
    Baby Droid


    Registrato dal
    Oct 2011
    Messaggi
    2
    Smartphone
    Samsung Galaxy S3

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ciao, ho provato il tuo codice e volevo modificarlo in maniera tale da permettere lo scambio di file tra i due emulatori, l'ho riscritto in maniera tale che i file vengano inviati dalla sd del client a quella del server, quando eseguo il codice in allegato mi da questo errore sul server: "java.io:FileNotFoundException...", in pratica a quanto ho capito l'errore è nel metodo saveFile del Server, quando cerco di istanziare il FileInputStream, qualcuno può darmi una mano a risolvere ? mi servirebbe come esercitazione per un'esame da dare all'uni, grazie =)
    File allegati

  11. #9
    Baby Droid


    Registrato dal
    Jul 2013
    Messaggi
    7

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Heila! ho provato il tuo codice e funziona benissimo!
    Ho provato a modificarlo un pò, mettendoci un bottone e rendendo l'edittext editabile in modo che, alla pressione del bottone, venga inviato il testo scritto nell'edittext.
    Si connette, ma sul server l'unica stringa che riceve è "false", invece del testo... quale può essere il problema? Ricordate che sono alle prime armi!
    posto qui il codice

    Code.txt

  12. #10
    Baby Droid


    Registrato dal
    Jul 2013
    Messaggi
    7

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Risolto!
    ho semplicemente cambiato la riga
    String message = (String) getText(R.id.editText);
    con
    String message = editText.getText().toString();

Pagina 1 di 2 12 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy