2011-09-01 3 views
1

J'ai créé un ServerSocket qui écoute le port 9000 dans mon application, et je souhaite effectuer un telnet sur ce port. Cela fonctionne sur mon périphérique de test enraciné, mais j'en ai besoin pour travailler sur des périphériques non rootés, ce qui ne semble pas être le cas. J'ai besoin de savoir si cela ne fonctionne que sur les appareils enracinés, ou si cela devrait aussi fonctionner sur les droïdes sans racines, ce qui implique que je viens de faire une erreur dans mon code.Un appareil Android doit-il être rooté pour pouvoir le faire par telnet?

Répondre

1

Il devrait fonctionner sur n'importe quel périphérique, enraciné ou non. Tant que vous n'essayez pas d'accéder à un port privilégié (< 1024 si je me souviens bien) ou d'essayer d'utiliser un port déjà utilisé.

+0

Très bien, merci pour la confirmation. Je vais revérifier mon code, et essayer de trouver où j'ai foiré. Juste comme une question secondaire, je cours un 'android.app.Service' pour saisir les données du flux de sortie' java.net.Socket's, et je sais que je devrais garder cela sur un thread qui est séparé à partir du fil de l'interface utilisateur. Devrais-je créer un Runnable pour gérer cela, devrais-je rendre l'implémentation 'Service'' Runnable', ou devrais-je simplement appeler le 'Service' sur un thread séparé? – cesar

+0

Typiquement, je rends simplement le service implémentable Runnable et rend 'Socket' une variable privée du' Service'. – Femi

+0

comment voulez-vous démarrer le service sur un fil différent? Avez-vous 'onStartCommand()' démarrer le 'run()', ou avez-vous 'run()' créer le 'Intent'? – cesar

Questions connexes