Android noob ici. J'apprends le meilleur en voyant le code source d'un exemple fonctionnel, mais j'ai été incapable de trouver un exemple simple mais complet d'utilisation d'un socket dans son propre thread.Comment obtenir des données depuis/vers une socket dans un thread?
J'ai un service Android qui doit communiquer avec Internet. Je veux ouvrir un socket TCP qui se connecte à un serveur sur Internet. Le service doit envoyer des données à Internet et les données provenant du réseau doivent être envoyées au service. Puisque le service fait également d'autres choses, la connexion socket doit vivre dans son propre thread.
Toute idée où je pourrais trouver un exemple d'une socket dans un fil avec la communication de/vers le socket?
Merci
Y at-il un façon d'envoyer des données supplémentaires à une asyncTask une fois qu'il a été démarré afin que les données peuvent être envoyées sur le socket? Je vois comment utiliser publishProgress et onProgressUpdate pour obtenir des données à partir du thread d'arrière-plan vers le thread de l'interface utilisateur, mais je ne vois pas comment aller dans l'autre sens pendant que la tâche est en cours d'exécution. –
Vous pouvez définir toutes les autres méthodes de votre tâche asynchrone que vous souhaitez. Sachez simplement que la méthode doInBackground() sera la seule exécutée sur un thread séparé. Vous pouvez également transmettre les données que vous souhaitez envoyer dans le constructeur ou à la méthode execute(). –
Lorsque j'ouvre une socket dans doInBackground(), ce nouveau thread va bloquer jusqu'à ce que les données arrivent sur le socket. Lorsque les données arrivent, je peux l'envoyer au thread de l'interface utilisateur via publishProgress. Étant donné que le socket a été créé sur ce thread de travail, comment puis-je envoyer des données au socket à partir du thread de l'interface utilisateur? J'ai affaire à un flux de données, donc envoyer des paramètres avec la commande execute() est bon, mais j'ai besoin d'envoyer continuellement des données au socket. –