2010-12-15 64 views
0

Je travaille sur la bibliothèque GPS Android. J'ai besoin de créer un thread séparé dans la bibliothèque qui continue à fonctionner en continu après avoir créé des sockets client et serveur.Comment créer une socket serveur et client sur un seul thread différent

De même, je crée des sockets dans l'application Java qui envoie des valeurs au code de la bibliothèque lors de l'interaction de l'utilisateur.

Comment puis-je créer une telle socket dans la bibliothèque GPS et dans l'application afin qu'elle continue à fonctionner de manière continue? Fondamentalement, je veux le socket dans la bibliothèque GPS dans un fil différent de sorte qu'il ne s'arrête jamais.

attend avec impatience vos réponses ....

+0

Qu'avez-vous essayé jusqu'à présent? Ou vous attendez-vous à ce que quelqu'un l'écrive juste pour vous? –

+0

Notez qu'il n'y a aucun moyen de garantir qu'il ne s'arrête jamais. Et tenir un wakelock est un bon moyen de tuer la batterie. Mais même cela ne garantit pas que votre thread ne s'arrête jamais, comme s'il était en arrière plan, il peut être tué pour les ressources, et s'il est au premier plan, il peut être tué quand la plate-forme essaye bêtement de reprendre un service d'arrière-plan. et donc manque de mémoire ... –

+0

J'ai essayé de communiquer en utilisant des prises. À la fin Java, j'ai essayé DataOutputStream.writeUTF et à la fin C, je recevais le flux en utilisant recv(). La valeur de retour pour recv est un entier positif, mais le buffer est toujours vide !!! – webgenius

Répondre

-1

obtenir un coup d'oeil dans les services, notamment les services à distance, ils courent sur un fil séparé chacun.

Si vous avez besoin d'exécuter un code spécial sur un autre thread à l'intérieur de votre application principale, utilisez le nouveau Runnable(), il exécute le même code que vous avez placé dans un thread séparé.

+0

Les services ne s'exécutent pas sur un thread distinct. Ils fonctionnent sur un thread différent des autres processus, mais si vous bloquez le thread principal, vous obtiendrez un ANR. – Falmarri