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 :
A l'exécution j'obtiens le message suivant :
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; }
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
Partager