Salve ragazzi!! Devo creare un'app per cell che invii un messaggio ad un server che si trova su un computer... quindi devo scrivere un app per android e un programma java che simuli il server(molto seplicemente il client invia una sringa al servere quest'ultimo la stamperà a video ). In realtà i due programmi li ho gia implementati solo che quello per android non funziona, quando lo avvio il programma viene automaticamente arestato..... e su eclipse mi esce il seguente errore di log e non capisco cosa significhi : Dumpstate > sdumpstate -k -t -z -d -o /data/log/dumpstate_app_error...
Vi allego i due codici ...... secondo voi cosa sbaglio?:
questo è quello del server su pc:
public class Socket {
/**
* param args
*/
public static void main(String[] args) {
ServerSocket serverSocket = null;
java.net.Socket cs = null;
System.err.println("Socket Server");
try{
serverSocket = new ServerSocket(10324);
}catch(IOException e){
System.err.println(e.getMessage());
System.exit(1);
}
while (true){
System.out.println("AttesaConnessone...");
try{
cs = serverSocket.accept();
}catch(IOException e){
System.out.println("Connessone fallita...");
System.exit(2);
}
System.out.println("Connessone da : "+ cs);
try{
BufferedInputStream ib = new BufferedInputStream(cs.getInputStream());
DataInputStream is = new DataInputStream(ib);
BufferedOutputStream ob = new BufferedOutputStream(cs.getOutputStream());
PrintStream os = new PrintStream(ob,false);
String line = new String(is.readLine());
//la stringa inizia dopo il secondo carattere
line = line.substring(2);
System.out.println("Il Client ha inviato la seguente Stringa ///" + line+"///");
os.close();
is.close();
cs.close();
}catch(Exception e){
System.out.println("Errore: " + e);
System.exit(3);
}
}
}
}
queso è quello del client su android:
public class MainActivity extends Activity {
Override
protected void onCreate(Bundle savedInstanceState) {
String TAG = "debug";
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG,"onCreate()");
Socket socket = null;
DataOutputStream dataOutputStream = null;
DataInputStream dataInputStream = null;
try {
Log.d(TAG,"try1");
socket = new Socket("192.168.1.1",10324);//qui inserisco ip del mio modem e la porta specificata sul ServerSocket
dataOutputStream = new DataOutputStream(socket.getOutputStream());
dataInputStream = new DataInputStream(socket.getInputStream());
dataOutputStream.writeUTF("Questa è una prova");
Log.d(TAG,"try11");
}catch(UnknownHostException e){
Log.d(TAG,"UnknownHost");
}catch(IOException e){
Log.d(TAG,"IOException");
}finally{
Log.d(TAG,"finally");
if (socket!= null){
try{
Log.d(TAG,"try2");
socket.close();
}catch(IOException e){
Log.d(TAG,"IO2");
}
}
if(dataOutputStream != null){
try{
Log.d(TAG,"try3");
dataOutputStream.close();
}catch(IOException e){
Log.d(TAG,"IO3");
}
}
if(dataInputStream != null){
try{
Log.d(TAG,"try4");
dataInputStream.close();
}catch(IOException e){
Log.d(TAG,"IO4");
}
}
}
Log.d(TAG,"fine create");
}
Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}