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

Entrée/Sortie Java Discussion :

[JNI] Ouverture connexion internet


Sujet :

Entrée/Sortie Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 6
    Points : 6
    Points
    6
    Par défaut [JNI] Ouverture connexion internet
    salut,
    Je développe un programme dans lequel j'aurais besoin de lancer une connexion internet afin de pouvoir ensuite me connecter par socket sur un PC distant.
    En fait j'ai besoin de faire de manière automatique connexion-->envoi de données-->déconnexion environ tout les 10min
    J'ai vu sur le net qu'il fallait utiliser JNI pour faire appel à l'api windows wininet.
    Le problème c'est que je n'arrive pas à faire marcher tout ça.
    J'ai bien réussi à écrire ma classe java, et à créer une dll mais j'ai plein d'erreur à l'exécution. Je pense que le problème vient de mon code C (je poste aussi un message sur le forum C), mais si quelqu'un avait déjà fait ça et pouvait m'aider ça me rendrait bien service...


    pour info :
    mon code java :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    class ConnexionInternet {
    	public native void connecter();
     
    	static {
    		System.loadLibrary("ConInternetJni");
    	}
     
    	public static void main(String[] args) {
    		ConnexionInternet ci = new ConnexionInternet();
    		ci.connecter();
    	}
    }
     
    mon code C :
    #include <jni.h> 
    #include <stdio.h> 
    #include "ConnexionInternet.h" 
    #include <windows.h>
    #include <wininet.h>
     
    JNIEXPORT void JNICALL 
    Java_ConnexionInternet_connecter(JNIEnv *env, jobject obj) 
    { 
     
    HANDLE lib;
    FARPROC func;
    long hINet;
    //HINTERNET hINet, hFile;
     
    lib = LoadLibrary("wininet.dll");
    if (lib==NULL)
    	return;
     
    //func = GetProcAddress(lib, "InternetGetConnectedState");
    func = GetProcAddress(lib, "InternetOpen");
     
    hINet = (*func) ("Test", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 );
     
    return; 
    }
    A l'exécution j'obtiens le message suivant :
    An unexpected exception has been detected in native code outside the VM.
    Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x0
    Function=[Unknown.]

    merci d'avance

    Isabelle

  2. #2
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut Re: ouverture connexion internet
    Citation Envoyé par nebka
    An unexpected exception has been detected in native code outside the VM.
    Vu que c'est outside the VM c'est pas ici que tu auras beaucoup de reponses.
    Essaye aussi sur le forum windows, parce que vu le message d'erreur(Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x0), si c'est pas une erreur d'adressage, c'est peut etre un probleme de droit d'acces.

    Bonne chance.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Problème résolu...
    Effectivement ce n'était pas un problème Java...
    C'était un problème de compilation du code C et d'éditions de lien, ainsi qu'un problème avec le jni.h dans lequel il faut changer les méthodes _Java_OnLoad et _Java_OnUnload qui sont des export par des import.

    Si quelqun a le même genre de souci, je pourrais fournir le code java et C pour ma classe de connexion à internet...
    Suffi de me le demander...

    Isabelle

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/03/2004, 13h13
  2. Unité Wininet : demande(s) de connexion internet
    Par nouanda dans le forum Web & réseau
    Réponses: 3
    Dernier message: 16/01/2004, 18h56
  3. [Réseau] Créer une connexion Internet
    Par Tranber dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 17/10/2002, 17h01
  4. Tester connexion Internet active sous Windows
    Par Altau dans le forum Développement
    Réponses: 3
    Dernier message: 12/08/2002, 12h43

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