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 :

[UDP] Conversion d'entier ou de long en byte[] [Débutant(e)]


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2005
    Messages : 97
    Par défaut [UDP] Conversion d'entier ou de long en byte[]
    Bonjour, je suis en train de faire une application qui permettra a une machine d'envoyer en UDP des messages a une autre machine .

    Je suis en train d'essayer de formater mon message (une sorte de protocole pour que les machines comprennent les données avec lesquelles elles sont en train de jouer)... Et c'est la que j'ai un problème : J'ai besoin de mettre dans ce message des données entiere ou longue or ne peut envoyer en UDP que des tableaux d'octets (bytes) J'ai trouvé la solution en bois de les convertir en String et de faire instance de string.getBytes mais c'est vraiment pas terrible parce que 9223372036854775807 est codé sur 8 octets en tant que long mais sur 19 lorsqu'on la convertit en String.
    Est ce que quelqu'un aurait déja été confronté a ce problème et serait assez gentil pour me donner la solution .

  2. #2
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Par défaut
    Tu peux utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.io.ObjectOutputStream.writeLong(monLong);
    par exemple.

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  3. #3
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Je suis daccord avec Bulbo tant que les deux machines ( ou deux programmes un client et un serveur ) sont faits en java. S'il s'agit de transmettre un entier de java vers C++ par exemple, et inversement, il ne peut pas faire autrement ( simplement ) que de passer par les String, en effet, selon les compilateurs C, un entier peut être codé sur un plusieurs nombres d'octets ( 16, 32, 64 )...
    >joho : tes deux machines utilisent java comme programmes client/serveur ?

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

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2005
    Messages : 97
    Par défaut
    Oui mes deux machines utilisent java (en fait j'essaie de faire un petit logiciel de peer to peer histoire de me familiariser avec le réseau et java ).

    Le probleme c'est que pour la communication entre pair j'utilise UDP (c'est un choix définitif parce que j'utilise des méthodes pour contacter les autres clients sur le réseau qui fonctionnent mieux avec udp qu'avec tcp ) donc forcement j'envoie des tableaux d'octets grace a des datagramSocket et des datagramPacket ... et mon message n'est pas fait que de ca ... je voudrais envoyer en une fois un message plein d'information .
    Je ne vois donc pas comment utiliser le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.io.ObjectOutputStream.writeLong(monLong);
    (sauf si jetais en TCP) .

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2005
    Messages : 97
    Par défaut
    Bonsoir et merci au gens qui ont gentillement répondu a mon post. Je penses avoir répondu a mon probleme . J'etais en train de faire des algorithmes complqué tout en parcourant l'API et j'ai uv que Sun m'avais devancé (ca m'étonnait aussi que ca n'existe pas déja) . La classe BigInteger a une methode toByteArray qui permet de faire ce que je voulais ... alors voila et merci

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

Discussions similaires

  1. [débutant mais pas trop] conversion string->entier
    Par Biosox dans le forum Débuter
    Réponses: 5
    Dernier message: 06/01/2006, 22h41
  2. [SQL Access] Conversion d'entier en chaîne
    Par Neilos dans le forum Access
    Réponses: 2
    Dernier message: 17/06/2005, 10h58
  3. Conversion ascii - entier
    Par Jbx 2.0b dans le forum Général Python
    Réponses: 3
    Dernier message: 15/03/2005, 19h23
  4. [String] Conversion vers entier
    Par Javatator dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 19/08/2004, 15h59
  5. Réponses: 6
    Dernier message: 16/05/2004, 19h03

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