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 :

sniffer en java


Sujet :

Entrée/Sortie Java

  1. #1
    Invité
    Invité(e)
    Par défaut sniffer en java
    je suis entrain d'implémenter un sniffer de réseaux, donc j'utilise jpcap et winpcap, j'ai deja jpcap.dll et jpcap.jar au bon endroit.
    --> je dois pouvoir afficher les différentes interfaces réseaux(ce qui marche sans problème), mais lorsque j'essaye de faire "openDevice" j'ai ce msg d'erreur.

    voici un extrait de mon code
    Code Java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    jpcap.NetworkInterface[] devices = jpcap.JpcapCaptor.getDeviceList();
     JpcapCaptor cap = JpcapCaptor.openDevice(devices[1], 65535, false, 20);//c'est la qu'il ya un problème

    msg d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    java.lang.NoSuchMethodError: setRoutingOption 
    at jpcap.JpcapCaptor.nativeOpenLive(Native Method) 
    at jpcap.JpcapCaptor.openDevice(JpcapCaptor.java:68)...
    quelqu'un pourrai m'aider ?
    merci d'avance
    Dernière modification par ram-0000 ; 12/05/2013 à 16h51.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    c'est le genre d'erreur qu'on obtient lorsqu'on a une classe de même nom (même package) dans 2 jar différents (un jar peut contenir un jar). mais que ce n'est pas la même version de classe :

    • Une version contient la méthode appelée
    • Une version n'a pas cette méthode



    lorsqu'on invoque un classe en java, un classloader va charger la première qu'il "trouve" selon son algo de résolution : s'il trouve la mauvaise version avant la bonne, il va charger la mauvaise version.

    quand une version de classe est chargée, une autre invocation de classe passant par le même classloader, ou un classloader "lié", il utilisera celle qui est déjà chargée, donc une mauvaise classe, sans la méthode invoquée dans l'appel, d'ou l'erreur.

    pour résoudre le problème, il faut chercher les jars qui contiennent la classe concernée,

    • Soit un jar est superflu, et il suffit de l'enlever du classpath
    • Soit 2 API différentes utilisent 2 versions différentes du même jar et qu'on peut pas faire autrement


    Dans ce second cas, il faudra gérer des classloader qui s'isolent l'un l'autre pour chaque librairie, ce qui peut être relativement "amusant" )
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Sniffer un réseau avec java
    Par AMARI_SALIM dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 06/02/2006, 00h28
  2. [Réseaux] Comment faire un sniffer en JAVA ?
    Par Alec6 dans le forum Entrée/Sortie
    Réponses: 17
    Dernier message: 09/12/2005, 03h24
  3. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    Réponses: 3
    Dernier message: 09/07/2002, 19h55
  4. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24
  5. Service de nommage java C++
    Par Anonymous dans le forum CORBA
    Réponses: 3
    Dernier message: 15/04/2002, 12h48

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