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

Dotnet Discussion :

Mapper une structure en tableau de byte


Sujet :

Dotnet

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 0
    Points
    0
    Par défaut Mapper une structure en tableau de byte
    Bonjour à tous,

    En C#, je souhaite envoyer une structure par le moyen d'une socket. Or les méthodes send des sockets permettent d'envoyer uniquement un tableau d'octet : Byte[]. Existe-t-il une façon simple de caster ou de convertir ma structure en Byte[] ceci afin d'éviter une couteuse recopie octet par octet?

    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Points : 493
    Points
    493
    Par défaut
    Bonjour,

    Le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Byte[] xmlBytes= Encoding.ASCII.GetBytes(xmlString);
    string xmlString = Encoding.ASCII.GetString(xmlBytes);
    Permet de transformer une chaine en un flux d'octets et vice versa.

    Du coup je pense que tu devrais regarder du côté de la sérialisation (lien MSDN).

    1/A l'envoi
    -Sérialiser ta structure, c'est à dire la transformer en un flux XML sous forme de string. (voir lien MSDN)
    -Tranformer ce flux XML en tableau d'octets (code code plus haut)

    2/ A la réception
    - Récupérer le tableau d'octets dans une string, cette string contiendra un flux XML (voir code plus haut)
    - Tranformer ce flux XML en ta structure en deserialisant. (voir lien MSDN)
    Mobile first !
    Développeur & co-fondateur de appSoluce ! - développement de solutions mobiles cross-platform

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 0
    Points
    0
    Par défaut
    Mais si je comprends bien avec cette méthode, l'envoi d'un Int16 de valeur 12345 va se faire par une string "12345" qui va prendre 6 octets alors que le mapping direct de l'Int16 en un tableau de 2 octets prendrai trois fois moins de place... C'est plutôt ce genre de solution que je recherche. Est-ce possible? après tout n'importe quelle zone mémoire est aussi un tableau d'octets... Est-ce que cela est possible en c#?

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Points : 493
    Points
    493
    Par défaut
    Ah dsl pas compris, je croyais que tu cherchais une méthode simple à développer pour faire rentrer tes objets dans la socket.

    Bon le code suivant devrait t'aller alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int a=124;
    Byte[] arrBytes = BitConverter.GetBytes(a);
    Mobile first !
    Développeur & co-fondateur de appSoluce ! - développement de solutions mobiles cross-platform

Discussions similaires

  1. Stocker une liste ou tableau de byte
    Par poupouce5 dans le forum JDBC
    Réponses: 1
    Dernier message: 26/05/2008, 14h38
  2. Allocation d'une structure avec tableau
    Par line86 dans le forum C
    Réponses: 5
    Dernier message: 02/10/2007, 11h38
  3. Formater une string en tableau de byte
    Par lamoufle dans le forum C
    Réponses: 5
    Dernier message: 22/11/2006, 16h51
  4. [XSL-FO] Modifer une structure de tableau dans for-each
    Par serwol dans le forum XSL/XSLT/XPATH
    Réponses: 24
    Dernier message: 17/06/2005, 17h38

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