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

API standards et tierces Java Discussion :

[Socket] Probleme entre un Client C et un serveur JAVA


Sujet :

API standards et tierces Java

  1. #1
    Membre éclairé
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 471
    Points : 831
    Points
    831
    Par défaut [Socket] Probleme entre un Client C et un serveur JAVA
    Bonjour à tous,

    j 'ai deux applications qui communiquent entre elles par un system Client/Serveur. le serveur est écrit en java, le client, quant à lui est écrit en C.

    Mon client envoie des chaines de caractères au serveur qui se contente des les afficher pour le moment. La connection à bien lieu, mais il n'affiche rien du tout.

    je pense que cela vient du fait que JAVA travaille avec des chaines de caractères UNICODE, tandis que le C ne connais que l'ASCII.

    Voici le code du serveur qui attend l'arrivée des chaines de caractères,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    public class PolygenServer implements Runnable {
      private DataInputStream fromClient;
      private PrintStream toClient;
      private Thread currentThread;
     
      public PolygenServer() {
        currentThread = new Thread(this);
        currentThread.start();
      }
     
      public void run() {
        try {
          ServerSocket server = new ServerSocket(1234);
          System.out.println("PolygenServer::Run ==> Create server");
          System.out.println("PolygenServer::Run ==> Waiting for connexion");
          Socket client = server.accept();
     
          System.out.println("PolygenServer::Run : "+client);
          fromClient = new DataInputStream(client.getInputStream());
          toClient = new PrintStream(client.getOutputStream());
          getAndDisplayMessages();
     
     
        } catch (IOException ex) {
          System.out.println("PolygenServer::Run ==> Can't create server");
        }
      }
     
      public void getAndDisplayMessages() {
        String line;
        char Val;
        do {
          try {
            line = fromClient.readUTF();
            System.out.println(line);
          } catch (IOException ex) {
            System.out.print("End of reception");
            line = null;
          }
        }
        while (line != null);
      }
    }
    Mon serveur reste bloque sur la ligne readUTF() et n'en sort que lorsque mon client est mort.

    Qui peut m'aider à sortir de cette galère !

    merci d'avance
    Page sur Developpez : http://pbriand.developpez.com

  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 : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    A data input stream lets an application read primitive Java data types from an underlying input stream in a machine-independent way. An application uses a data output stream to write data that can later be read by a data input stream.
    Comme le dit la javadoc de DataInputStream, si c'est pas ecrit par un DataOutputStream, tu peux te brosser pour lire avec un DataInputStream.

    Utilise un FileInputStream ca marchera surement mieux.

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

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2005
    Messages : 84
    Points : 43
    Points
    43
    Par défaut
    J'ai testé envoie/émission entre appli Java/Visual C++ et ça marche parfaitement.

  4. #4
    Membre éclairé
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 471
    Points : 831
    Points
    831
    Par défaut [Résolu][SocketProbleme entre un Client C et un serveur JAVA
    Ok merci beaucoup pour votre aide,

    Ca fonctionne correctement
    Page sur Developpez : http://pbriand.developpez.com

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

Discussions similaires

  1. Web services XML-RPC entre un client Android et un serveur OpenERP
    Par oqastage dans le forum API standards et tierces
    Réponses: 16
    Dernier message: 17/03/2016, 11h39
  2. [Exchange 2003] contrôle de l'intervalle de communication entre le client outlook et le serveur Exchange
    Par maikess dans le forum Exchange Server
    Réponses: 6
    Dernier message: 06/04/2010, 14h09
  3. Réponses: 12
    Dernier message: 05/06/2009, 22h01
  4. [SOCKET] Client C connecté à un serveur Java
    Par missllyss dans le forum Développement
    Réponses: 2
    Dernier message: 07/06/2004, 13h14

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