- Forum-Beiträge: 11
09.02.2014, 11:37:03 via Website
09.02.2014 11:37:03 via Website
ich stehe vor einem Problem was ich nicht ganz verstehe =(
(Kann daran liegen das Sonntag ist ;) )
Ich habe eine Kommunikation zwischen PC und Android geschrieben. Von Android zu PC kein Problem...
Von PC zu Android ein Problem was ich nicht verstehe:
Ich rufe auf dem Android eine runnable auf, in diesem Thread liegt mein UDP Server.
Dieser hat eine While(true) schleife welche aber nur ein mal durch laufen wird!?
Jetzt habe ich mal versucht eine andere Endlos schleife zu bauen(Ebenfalls in einem hintergrund Thread), diese wird aber auch elegant nur einmal ausgeführt ;)
(Alle anderen Probleme hab ich schon gelöst, ip / anmeldung etc. ;) )
In der nächsten Version werde ich auch mal das GCM einbauen, aber möchte jetzt, das es so funktioniert ^_^ es ärgert mich das ich das nicht verstehe >_<
Hier mal der Code ;)
Ich glaube das ist gerade ein TCP client hab da eben was rum gedreht ^_^
2 public void run() {
3 ServerSocket ss = null;
4 Socket s = null;
5 int MSG_ID = 0x1337;
6 String mClientMsg = "";
7
8 try {
9 ss = new ServerSocket(11000);
10 } catch (IOException e) {
11 e.printStackTrace();
12 }
13 while (!Thread.currentThread().isInterrupted()) // Klappt auch nicht ... wird nur einmal durchlaufen {
14 Log.d("Nachrit:"," Läuft und Läuft");
15 Message m = new Message();
16 m.what = MSG_ID;
17 try {
18 if (s == null)
19 s = ss.accept();
20
21 BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
22 String st = null;
23 st = input.readLine();
24 Log.d("Nachricht:",st);
25 mClientMsg = st;
26 handler.sendMessage(m);
27 } catch (IOException e) {
28 e.printStackTrace();
29 }
30 }
31 }
32 };
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.