Salve sono nuovo di android, sto provando a creare un server TCP e lo sto testando su un emulatore versione 2.3.3. Mentre eseguendo il codice come applicazione java normale riesco anche a inviare messaggi, caricando l'applicazione sull'emulatore si verifica un'eccezione alla riga
codice:
server = new ServerSocket(9999);
Ecco il codice
codice:
package prova.connessione;
import java.io.*;
import java.net.*;
import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
/**Definisce un server che gira sull'emulatore e ascolta una porta TCP*/
public class ServerTcpActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
ServerSocket server = null;
boolean serverCreato = false;
TextView tv1 = new TextView(this);
TextView tv2 = new TextView(this);
try{
//L'applicazione si dichiara server
server = new ServerSocket(9999);
serverCreato = true;
tv1.setText("Server Creato");
}catch(IOException ioe){
ioe.printStackTrace();
tv1.setText("Errore durante new ServerSocket()");
}
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.addView(tv1);
layout.addView(tv2);
setContentView(layout);
//ciclo del server
while(true && serverCreato){
try{
Socket s1 = server.accept();
OutputStream s1out = s1.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s1out));
bw.write("Ciao client, io sono il server!");
tv2.setText("Messaggio inviato al client");
bw.close();
s1.close();
}catch (IOException ioe){
ioe.printStackTrace();
tv2.setText("Errore durante la scrittura sul socket");
}
}
}
}
c'è qualche classe che su android non può essere utilizzata?