IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

Impossible de me connecter à mon serveur ftp via FTPClient


Sujet :

API standards et tierces Android

  1. #1
    Invité
    Invité(e)
    Par défaut Impossible de me connecter à mon serveur ftp via FTPClient
    Bonjour,

    J'ai créé un petit projet android simplissime. Dans le main.java j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public class Main extends Activity {
     
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
     
    		FTPClient client = new FTPClient();
     
    		try {
     
    		client.connect("192.168.96.1", FTP.DEFAULT_PORT);
    		client.login("test", "mdp");
     
    		client.enterLocalPassiveMode();
    		client.setFileType(FTP.BINARY_FILE_TYPE);
     
    		Log.v("FTP.DEBUG", client.getReplyString());
    		} catch (IOException e) {
    			Log.v("FTP.DEBUG", "Faillllllllllllllllllllled");
    			e.printStackTrace();
    		}
     
    		setContentView(R.layout.main);
     
    	}
    }
    Dans le manifest j'ai bien mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    J'ai testé la connexion via un projet java classique => pas de problème.

    Par contre quand je veux tester mon projet directement sur ma tablette j'ai les erreurs suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    02-20 18:19:17.700: D/AndroidRuntime(6599): Shutting down VM
    02-20 18:19:17.700: W/dalvikvm(6599): threadid=1: thread exiting with uncaught exception (group=0x40160760)
    02-20 18:19:17.710: E/AndroidRuntime(6599): FATAL EXCEPTION: main
    02-20 18:19:17.710: E/AndroidRuntime(6599): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.firm.bonjour/com.firm.bonjour.Main}: android.os.NetworkOnMainThreadException
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1818)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1834)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at android.app.ActivityThread.access$500(ActivityThread.java:122)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1027)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at android.os.Looper.loop(Looper.java:132)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at android.app.ActivityThread.main(ActivityThread.java:4126)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at java.lang.reflect.Method.invokeNative(Native Method)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at java.lang.reflect.Method.invoke(Method.java:491)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at dalvik.system.NativeStart.main(Native Method)
    02-20 18:19:17.710: E/AndroidRuntime(6599): Caused by: android.os.NetworkOnMainThreadException
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1077)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:368)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:208)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:431)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at java.net.Socket.connect(Socket.java:901)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at org.apache.commons.net.SocketClient.connect(SocketClient.java:168)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at org.apache.commons.net.SocketClient.connect(SocketClient.java:189)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at com.firm.bonjour.Main.onCreate(Main.java:36)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1782)
    02-20 18:19:17.710: E/AndroidRuntime(6599): 	... 11 more
    02-20 18:19:19.760: I/dalvikvm(6599): threadid=4: reacting to signal 3
    02-20 18:19:19.760: I/dalvikvm(6599): Wrote stack traces to '/data/anr/traces.txt'
    En mode debug, je me suis rendu compte qu'une fois arrivé à la ligne 11 (celle où la connexion se fait), c'est là que ça plante.

    Je n'ai aucune idée d'où vient le problème et je n'ai pas trouvé l'info sur internet, tout le monde semble pouvoir établir la connexion sans problème ...

    Si vous pouviez m'aider ça serait vraiment chouette.

    Merci d'avance

  2. #2
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut
    Une question, ta classe FtpClient, est elle "Home Made" ? Si oui, tu peux mettre ton code ?

    Merci

  3. #3
    Invité
    Invité(e)

  4. #4
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Google: "NetworkOnMainThreadException" ....

    C'est au moins la vingtieme fois que le problême est posé dans le forum.... ON NE DOIT PAS FAIRE DE TRAITEMENT LONGS DANS LE THREAD UI (onXXXX de l'activity) !
    Il faut systèmatiquement passer par un AsyncTask ou autre...

    Les opérations longues dans le thread de l'UI ont toujours été proscrites sur Android (mais c'est aussi vrai sur n'importe quel OS ,dans n'importe quel programme). Le SDK avant HC ne faisait aucune vérification, désormais, le SDK va lancer ce NetworkOnMainThreadException systématiquement à l'utilisation d'une connection réseau dans le thread UI histoire d'éviter la programmation sale.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci Nicroman !

    Désolé je ne pensais pas que le problème venait de là et donc je n'ai pas fait de recherche dans ce sens ni avec cette exception.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impossible de se connecter à mon serveur SQL
    Par Leelith dans le forum Administration
    Réponses: 6
    Dernier message: 07/10/2010, 22h49
  2. Est-ce possible de se connecter à un serveur FTP via une Midlet ?
    Par radouane_as dans le forum Développement Mobile en Java
    Réponses: 1
    Dernier message: 24/06/2010, 10h54
  3. se connecter à un serveur ftp via un batch file
    Par younek dans le forum Windows
    Réponses: 7
    Dernier message: 05/11/2008, 11h55
  4. se connecter à mon serveur FTP
    Par younek dans le forum Protocoles
    Réponses: 7
    Dernier message: 10/01/2007, 11h36
  5. Impossible de contacter mon serveur FTP via ie
    Par Polskynet dans le forum Internet
    Réponses: 3
    Dernier message: 05/12/2005, 14h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo