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 :

C# clientsocket.send(......)


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 35
    Par défaut C# clientsocket.send(......)
    bonjour,

    J'ai un tableau de double et j'aimerais l'envoyer à l'aide des sockets. J'utilise la fonction .send(...), mais je dois donner un tableau de Byte. J'aimerais savoir si je peux directement passer en paramètre le tableau de double ou le convertir, ou simplement forcer en utilisant (double*)...

    Je n'arrive pas à le faire, alors si quelqu'un peut m'aider... ça serait génial...

    Thanx.
    Fred

  2. #2
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    la conversion me semble nécessaire
    Méthode Convert.ToByte (Double) pour chaque Double du tableau mais je me demande si cela sera suffisant :

  3. #3
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 35
    Par défaut
    ok, ouais, c'est ce que je faisais au tout début, mais comme j'ai des valeurs "double", si je le converti en Byte, je perds la précision après la virgule.... et je peux pas me permettre ceci....

    Je ne sais pas si il y a d'autres manières....

    C'est drôle parce que en langage Cpp, on peut faire ceci, mais en C# on ne peut pas...

  4. #4
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par michel_frederic
    ok, ouais, c'est ce que je faisais au tout début, mais comme j'ai des valeurs "double", si je le converti en Byte, je perds la précision après la virgule.... et je peux pas me permettre ceci....
    ...
    Et si tu utilises des Decimal au lieu de Double

  5. #5
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 35
    Par défaut
    ben, c'est que j'ai besoin de chiffre après la virgule....

    pourquoi?? avec des décimals ça fonctionnerait???

    C'est sûr que je peux multiplier mes valeurs par 100 et ensuite je les divise de l'autre côté....

    Mais est-ce qu'il n'y a pas une limite avec des Byte???

  6. #6
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Citation Envoyé par michel_frederic
    ben, c'est que j'ai besoin de chiffre après la virgule....

    pourquoi?? avec des décimals ça fonctionnerait???

    C'est sûr que je peux multiplier mes valeurs par 100 et ensuite je les divise de l'autre côté....
    La classe Decimal représente les nombre avec une grande précision. Elle est la pour eviter les problemes liés à la représentation binaire des types sur les opération mettant en scene des très petit nombres.

    Donc tu as les virgules

  7. #7
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 35
    Par défaut
    ok, alors ça veut dire que je pourrais transformer mon tableau de Byte en Decimal et je pourrais l'envoyer sur un socket avec la fonction send(...)

    En fait, en c++ on peut forcer l'envoi d'un double, en changeant la longueur (sizeof)... C'est bizarre qu'avec C# on ne peut pas ou qu'on ait autant de misère a le faire...

  8. #8
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 35
    Par défaut
    En fait, je suis vraiment bloqué..... j'utilise un connexion client/server.

    Je donne l'ordre au server de faire des calcul et je dois les envoyer au client pour les afficher.... Mes données sont des double (1.1234233, 2.345434). je ne dois pas perdre les valeurs après la virgule et je ne sais vraiment pas comment faire car je dois les convertir en Byte et je perds toute la précision et mes valeurs non plus de sens...

    Merci de m'aider...

    Fred

  9. #9
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    une idée peut être serait d'organiser les données à envoyer et à recevoir sous forme d'une structure (avec les types normaux) puis d'utiliser la serialisation xml : pour les echanges avec le serveur

  10. #10
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 35
    Par défaut
    oulala ok, je ne connais pas du tout ceci....

  11. #11
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627

  12. #12
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 35
    Par défaut
    je n'arrive pas a convertir un double en string....

    Est-ce possible?? je ne comprends pas pourquoi...

    DataString = (string)DataVitesse[n];

    merci

  13. #13
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par michel_frederic
    je n'arrive pas a convertir un double en string....
    Est-ce possible?? je ne comprends pas pourquoi...
    DataString = (string)DataVitesse[n];
    merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string DataString = Convert.ToString(DataVitesse[n]);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string DataString = DataVitesse[n].ToString();

  14. #14
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 35
    Par défaut
    parfait merci beaucoup....

    Ensuite, est-il possible de convertir un string en double???

    Merci

  15. #15
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par michel_frederic
    parfait merci beaucoup....

    Ensuite, est-il possible de convertir un string en double???

    Merci
    Ben oui tu aurais pu trouver par toi même avec un peu de curiosité sur la Classe Convert

  16. #16
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 35
    Par défaut
    OK, merci, je vais regarder.....

    Je suis désolé, c'est vrai que je pourrais chercher par moi même.... mais ça fait longtemps que je suis sur des problèmes de conversion et j'étais un peu découragé....

    En tout cas, un grand merci... je vais chercher et je pense pouvoir résoudre mon problème....

    Merci beaucoup.

  17. #17
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par michel_frederic
    OK, merci, je vais regarder.....

    Je suis désolé, c'est vrai que je pourrais chercher par moi même.... mais ça fait longtemps que je suis sur des problèmes de conversion et j'étais un peu découragé....

    En tout cas, un grand merci... je vais chercher et je pense pouvoir résoudre mon problème....

    Merci beaucoup.
    regardes bien toutes les autres méthodes de la classe Convert elle temermet de faire toutes les conversions des types primitifs

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Reseaux] Net send
    Par nico33307 dans le forum Administration
    Réponses: 9
    Dernier message: 08/06/2005, 23h59
  2. [Wscript] probleme avec la méthode send
    Par machinTruc dans le forum Windows
    Réponses: 8
    Dernier message: 18/05/2005, 17h30
  3. MAPI->send(je met quoi la?)
    Par noinneh dans le forum MFC
    Réponses: 3
    Dernier message: 14/04/2005, 09h25
  4. [SOCKET] TCP : select devant send();
    Par trois_1 dans le forum Développement
    Réponses: 4
    Dernier message: 02/03/2004, 18h10
  5. [SOCKET C] deux send() pour un recv()
    Par trois_1 dans le forum Développement
    Réponses: 4
    Dernier message: 01/12/2003, 19h13

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