Autore Topic: Errore creazione Socket  (Letto 760 volte)

Offline Marcofe

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Ubuntu 11.10
Errore creazione Socket
« il: 31 Ottobre 2012, 11:59:26 CET »
0
Salve a tutti,
sto utilizzando i socket per una mia applicazione e non riesco a capire cosa c'è che non va nel mio codice.

Codice: [Seleziona]
try {
                                       
                                        if (ip.getText().toString().equals("")) {
                                                serverIpAddress = "192.168.1.134";
                                        } else
                                                serverIpAddress = ip.getText().toString();
                                       
                                        Log.d("Activity", "IP:"+serverIpAddress);
                                       
                                        // Log.d("Activity", "Before serverAddr");
                                        // InetAddress serverAddr =
                                        // InetAddress.getByName(serverIpAddress);
                                        Log.d("Activity", "Creating socket...");
                                        socket = new Socket(serverIpAddress, PORT);
                                        Log.d("Activity", "...done!");
                                        BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                                        String st = null;
                                        Log.d("Activity", "Before readLine");
                                        st = input.readLine();
                                        Log.d("Activity", "After readLine");
                                        et.setText(st);
                                } catch (UnknownHostException e) {
                                        et.setText("Error1");
                                        e.printStackTrace();
                                } catch (IOException e) {
                                        et.setText("Error2");
                                        e.printStackTrace();
                                } catch (Exception e) {
                                        et.setText("Error3");
                                        e.printStackTrace();
                                } finally {
                                        if (socket != null) {
                                                try {
                                                        socket.close();
                                                } catch (IOException e) {
                                                        // TODO Auto-generated catch block
                                                        e.printStackTrace();
                                                }
                                        }
                                }

Questa è la parte relativa alla creazione del socket, e ad una eventuale lettura di dati. Il problema è che mi viene generata un eccezione di tipo Exception e non riesco a capirne il motivo... Il server è attivo e funzionante alla porta PORT=12345. Grazie a tutti :)

Offline Marcofe

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Ubuntu 11.10
Re:Errore creazione Socket
« Risposta #1 il: 31 Ottobre 2012, 17:59:02 CET »
0
Risolto grazie a IRc...
L'istanza del Socket deve essere fatta in un thread differente da quello principale, per cui è necessario utilizzare ad esempio un'estensione della classe AsyncTask.
Ciao a tutti