Hallo,
ich habe eine kleine App entwickelt (meine ersten Erfahrungen mit Android APP), welche einfach nur Nachrichten von einem PC empfangen soll, bzw. nachrichten zu einem PC senden soll.
Das Senden funktioniert einwandfrei!
Das Empfangen spinnt irgendwie rum.
Ich nehme mir wie oft beschrieben eine runnable(); und lasse dadrin meinen "Server" auf nachrichten warten.
Runnable runnable = new Runnable() { public void run() { int PORT = 11000; byte[] buf = new byte[1000]; DatagramPacket dgp = new DatagramPacket(buf, buf.length); DatagramSocket sk;
try { sk = new DatagramSocket(PORT); Log.d("Nachricht"," Läuft!"); while (true) { Log.d("Nachricht"," Läuft!");
try { sk.receive(dgp); String rcvd = new String(dgp.getData(), 0, dgp.getLength()); if(rcvd != null){ Log.d("Nachricht"," Empfangen!"); }
} catch (IOException e) { e.printStackTrace(); } } } catch (SocketException e) { e.printStackTrace(); }
}
};
(Wie kriege ich den Code hier sauber Formatiert rein ?! Der wird immer umformatiert -.- )
So weit so gut...
Nur das Problem dabei ist, es werden keine Nachricht ausgegeben...
Log.d("Nachricht"," Läuft!"); kommt 1 mal ...
Log.d("Nachricht"," Empfangen!"); wird mir nicht ausgegeben...
Ich habe die Richtige IP an die ich sende (gebe ich bei Nachrichten zum PC mit).
Sende vom PC aus auch auf Port 11000, also das scheint für mich richtig zu sein...
Ich glaube irgendwie das die While-schleife sofort wieder beendet wird, was sie ja eigentlich nicht sollte da While(true) eine Endlosschleife ist ...
Ich weiß das dies alles mit GCM geht, aber das ist mir gerade noch ein wenig zu hoch, da brauche ich mehr ruhe und zeit für.
Dachte das dieses hier schnell kurz und einfach ist
Hoffe irgendwer findet meinen Fehler oder kann mir erklären warum eine Endlosschleife direkt beendet wird ...
VG Jens
ps: Schönen Sonntag