Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    ciao!

    non mi convince molto quel AsyncTask<String, Void, String>.
    prova a metterlo così AsyncTask<String, Void, Void> (in fin dei conti gli passi un solo oggetto String).

    cmq, oltre a questo che non so quanto sia risolutivo, posta un pò più di log.
    da quelle due righe si capisce poco!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2017
    Messaggi
    4
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ciao!

    non mi convince molto quel AsyncTask<String, Void, String>.
    prova a metterlo così AsyncTask<String, Void, Void> (in fin dei conti gli passi un solo oggetto String).

    cmq, oltre a questo che non so quanto sia risolutivo, posta un pò più di log.
    da quelle due righe si capisce poco!
    L'ho fatto <String, Void, String> perché ritorna la "Executed", ma posso benissimo farne a meno e piazzarci un bel Void e return null effettivamente.

    Per quanto riguarda il log, dopo aver cambiato quella cosa sull'AsyncTask, mi ha fatto vedere ulteriori cose: innanzitutto, ho provato a mettere all'interno del try/catch in cui inizializzo il socket 2 Log: uno mi stampa la stringa "corretto" e l'altro la stringa "eccezione" in base a dove è andato. Inoltre, ho aggiunto un ulteriore stampa di una stringa nel caso il socket sia = null. A livello di codice, ho fatto una cosa del genere:

    codice:
    protected Void doInBackground(String... params) {
            Socket socket = null;
            String ordine = params[0];
    
            Log.d(TAG, ordine);
    
            InetAddress serverAddress = null;
            try {
                serverAddress = InetAddress.getByName(SERVER_IP);
            } catch (UnknownHostException e) {
                e.printStackTrace();
            }
    
            try {
                Log.d(TAG, "corretto");
                socket = new Socket(serverAddress, 6000);
            } catch (IOException e) {
                Log.d(TAG, "eccezione");
                e.printStackTrace();
            }
    
            Log.d(TAG, "creato");
    
            try {
                if(socket != null){
                OutputStreamWriter outputStreamWriter = new OutputStreamWriter(socket.getOutputStream());
                BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);
                PrintWriter out = new PrintWriter(bufferedWriter, true);
                out.println(ordine);
                }
                else{
                    Log.d(TAG, "socket null");
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            return null;
        }
    }
    Nel log è comparso, subito dopo la stringa "eccezione", l'eccezione java.net.ConnectException. Deduco dunque non sia avvenuta la connessione al server, il che mi fa pensare che abbia sbagliato a dare l'indirizzo del server.

    Dunque, io per collegare l'app client (che risiede su uno smartphone) e l'app server(su un altro smartphone) li ho connessi entrambi alla stessa rete Wi-Fi, sono andato sulle impostazione dello smartphone in cui risiede l'applicazione lato server e ho utilizzato l'indirizzo IP che mi dava in
    Wi-Fi -> Avanzate Wi-Fi. È corretto oppure c'è qualcosa di sbagliato?
    Grazie della pazienza!

    Per quanto riguarda l'organizzazione del programma sì, hai completamente ragione andbin e provvederò a sistemare anche quell'aspetto!

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.