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

C# Discussion :

equivalence fonction pack php en C#


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Par défaut equivalence fonction pack php en C#
    Bonjour,

    Je débute en c#, j'essaie de travailler avec des données binaires mais je suis assez perdu.

    Je souhaiterai ajouter dans des arguments dans une chaine binaire selon un format précis.

    En PHP j'ai la fonction Pack / unpack qui me permet de faire cela, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $arg="connect";
    $header=pack("c",2); //Caractère signé
    $header.=pack("n",strlen($arg)); // toujours 16 bits, ordre des bits big endian
    $header.=$arg;
     
    $nBytes=socket_write($socket,$header,strlen($header)); // envoie des données

    En c#, quel serait sa traduction ?
    Est ce que je dois utiliser la classe MemoryStream, BinaryWriter ?

    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut

    Je ne connais pas asser le PHP pour bien interprerer ce que tu fais
    Mais j'ai par contre l'idée que c'est effectivement un BinaryWriter que tu dois utiliser

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Par défaut
    Merci pour la réponse mais oublions la fonction pack alors.

    J'ai du mal à comprendre comment marche la classe BinaryWriter, BinaryReader.

    Si je veux envoyer un byte qui a pour valeur 1, je peux faire ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    byte []  buffer=new byte[1];
    buffer[0]=0x01;
    sock.send(buffer);
    Mais maintenant si je veux utiliser la classe BinaryWriter, BinaryReader, MemoryStream, en vue de faire une séquence avant d'envoyer comment je fais ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    MemoryStream m= new MemoryStream();
    BinaryWriter Wr= new BinaryWriter(m);
    BinaryReader Rd=new  BinaryReader(m);
     
    Wr.Write(0x01); 
    Wr.Write(0x02); 
    sock.send(Rd.Readbytes(2)); // Envoie des données ??

Discussions similaires

  1. [WB16] Paybox - Trouver un équivalent à la fonction pack() de PHP
    Par MaxHowTo dans le forum WebDev
    Réponses: 1
    Dernier message: 04/09/2018, 21h41
  2. Equivalent fonction gettimeofday (PHP) en .NET
    Par oroussel73 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 27/01/2010, 10h11
  3. [Tableaux] Equivalent d'une fonction en php
    Par Wimoux dans le forum Langage
    Réponses: 3
    Dernier message: 15/04/2008, 03h03
  4. equivalent fonction explode (php)
    Par lololoic dans le forum Access
    Réponses: 6
    Dernier message: 21/08/2006, 18h34
  5. equivalence du isset() php en asp
    Par jecht dans le forum ASP
    Réponses: 4
    Dernier message: 13/05/2004, 14h48

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