Android noob hier. Ich lerne am besten, indem ich den Quellcode eines funktionalen Beispiels sehe, aber ich konnte kein einfaches, aber vollständiges Beispiel finden, ein Socket in seinem eigenen Thread zu verwenden.Wie bekomme ich Daten zu/von einem Socket in einem Thread?
Ich habe einen Android-Dienst, der mit dem Internet kommunizieren muss. Ich möchte einen TCP-Socket öffnen, der eine Verbindung zu einem Server im Internet herstellt. Der Dienst muss Daten an das Internet senden, und Daten, die vom Netz zurückkommen, müssen zum Dienst gehen. Da der Dienst auch andere Dinge erledigt, muss die Socket-Verbindung in einem eigenen Thread leben.
Irgendeine Idee, wo ich ein Beispiel eines Sockels in einem Thread mit der Kommunikation zu/von der Steckdose finden könnte?
Dank
Gibt es eine Möglichkeit, nach dem Start zusätzliche Daten an eine AsyncTask zu senden, damit Daten aus dem Socket gesendet werden können? Ich sehe, wie man publishProgress und onProgressUpdate verwendet, um Daten vom Hintergrund-Thread zum UI-Thread zu bekommen, aber ich sehe nicht, wie man während der Ausführung der Aufgabe in die andere Richtung geht. –
Sie können beliebige andere Methoden für Ihre asynchrone Aufgabe definieren. Sie müssen wissen, dass die Methode doInBackground() die einzige ist, die in einem separaten Thread ausgeführt wird. Sie können die zu sendenden Daten auch im Konstruktor oder in der execute() -Methode übergeben. –
Wenn ich einen Socket in doInBackground() öffne, blockiert dieser neue Thread, bis Daten auf dem Socket eintreffen. Wenn Daten eintreffen, kann ich sie über publishProgress an den UI-Thread senden. Da der Socket in diesem Arbeitsthread erstellt wurde, wie würde ich Daten vom UI-Thread an den Socket senden? Ich habe es mit einem Datenstrom zu tun, daher ist das Senden von Parametern mit dem Befehl execute() gut, aber ich muss ständig Daten an den Socket senden. –