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 :

JPcap et serialiser une instance de Packet


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut JPcap et serialiser une instance de Packet
    Bonjour,

    j'utilise JPcap, la version qui permet d'envoyer des paquets.

    Pour l'instant, je capture des instances de la classe Packet :

    http://netresearch.ics.uci.edu/kfuji...et/Packet.html

    Pour chaque paquet capturé, je l'encapsule dans un objet serialisable, que j'envoi sur une connexion Tcp.

    Malheureusement, lorsque le serialiseur Java s'attaque à l'instance Packet encapsulé dans mon objet, il lance une exception et me dit que l'objet n'est pas serialisable.

    Pendant un instant, j'ai eu l'idée de faire

    public class MyPacket extends jpcap.packet.Packet implements java.io.Serializeable

    Hélas, la classe PacketReceiver me retourne une instance de la classe Packet : http://netresearch.ics.uci.edu/kfuji...tReceiver.html
    et caster un type Père en un type Fils ne marche pas, sauf si l'objet est réellement du type fils (or ici ce n'est pas le cas, il s'agit d'une instance de la classe Packet qui m'ai retourné par l'interface PacketReceiver)

    En résumé, sauf si quelqu'un a une idée miraculeuse, je ne peu envoyer sur ma connexion Tcp une instance de la classe Packet telle quelle.

    J'ai donc deux idées, la première, sortir les attributs de la classe Packet et encapsuler ces attributs dans mon objets serialisable, envoyer mon objet dans le tunnel tcp, et recréer le paquet de l'autre coté à partir des attributs
    (celà m'embête car ce n'est pas vraiment du tunneling: je recréé le paquet....)

    L'autre idée serait d'utiliser un autre type de serialisation...XML?

    Qui a des idées? des remarques? des conseils?

    Il faut que celà marche....absolument...

    Merci à tous

  2. #2
    Membre averti
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut Capturer un instance de Packet et la réemettre
    Un autre point est:

    es ce que capturer un paquet, cad obtenir une instance de la classe Packet et réémettre cette même instance en utilisant la classe JpcapSender réemet bel et bien le même paquet à l'identique?

    Au pire, je ferais le test avec un analyseur réseau et deux interfaces, mais si ca peut m'éviter de perdre 1h...

    Merci d'avance

  3. #3
    Membre averti
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut Serialiser un objet non serialisable
    org.apache.cocoon.util.IOUtils

    http://forum.java.sun.com/thread.jsp...sageID=2766098

    public static byte[] getBytes(Object obj) throws java.io.IOException{
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(bos);
    oos.writeObject(obj);
    oos.flush();
    oos.close();
    bos.close();
    byte [] data = bos.toByteArray();
    return data;
    }

    es ce que celà marche pour recréer l'objet à l'identique?

Discussions similaires

  1. Serialisation d'une instance de la classe shapes.line
    Par SandyF dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 21/12/2010, 18h02
  2. [Stratégie] Récupérer une instance existante
    Par cmoulin dans le forum Général Java
    Réponses: 14
    Dernier message: 11/05/2004, 15h48
  3. ajouter un champ dynamiquement à une instance de table
    Par maniack dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/02/2004, 23h58
  4. [VB6]Passer le focus à une instance précedente
    Par Jeremiah dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 16/09/2003, 10h01

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