Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1457 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  reception INT de C vers Java problématique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

reception INT de C vers Java problématique

n°2145707
link953
Posté le 13-06-2012 à 14:28:40  profilanswer
 

Salut à tous,
 
Voila j'essai d'envoyer un INT à travers une socket en réponse au bon envoi d'un fichier. Le client java se connect au serveur C, lui envoi le fichier et l'ideal sera que le serveur réponde en envoyer un INT.
 
Le problème, la fonction read() bloque et ne reçoit rien sous java. Quand j'enlève la parti qui envoi le fichier je reçois le int sinon rien.
 

Code :
  1. //Préparation du fichier, ouverture des Streams d'échanges
  2.              File myFile = new File (FilePath); //ouverture du fichier avec le chemin absolu recuperer avec l'intent
  3.              byte [] mybytearray  = new byte [(int)myFile.length()];
  4.              FileInputStream fis = new FileInputStream(myFile); //Lecture depuis un fichier
  5.              BufferedInputStream bis = new BufferedInputStream(fis); //Place ce qui est lu dans un buffer
  6.              DataOutputStream out = new DataOutputStream( s.getOutputStream() ); //permet l'envoi de donnes en data
  7.              bis.read(mybytearray,0,mybytearray.length);//Lecture du fichier
  8.              OutputStream os = s.getOutputStream(); //permet d'envoyer la donnée en byte
  9.    
  10.           byte[] buffer = new byte[(int)myFile.length()];
  11.             DataInputStream dis = new DataInputStream(new FileInputStream(myFile));
  12.             dis.read(buffer, 0, buffer.length);
  13.          
  14.              taille_fichier  = myFile.getName().length();
  15.              out.writeInt( taille_fichier );
  16.              os.flush();
  17.              out.flush();
  18.           
  19.              String nom_fichier = myFile.getName();
  20.              os.write(nom_fichier.getBytes(),0,myFile.getName().length());
  21.              os.flush();
  22.              out.flush();
  23.             
  24.              String md5 = IntegriterFichierActivity.md5sum(myFile);
  25.              taille_md5 = md5.length();
  26.              out.writeInt( taille_md5 );
  27.              os.write(md5.getBytes(),0,md5.length());
  28.              os.flush();
  29.              out.flush();
  30.              out.writeInt((int) myFile.length());
  31.              out.flush();
  32.              os.write(mybytearray);
  33.              os.flush();
  34.             
  35.  
  36.          System.out.println(s.getInputStream().read() );            
  37.               
  38.  
  39.      out.close();
  40.                os.close();
  41.             s.close();

mood
Publicité
Posté le 13-06-2012 à 14:28:40  profilanswer
 

n°2145718
link953
Posté le 13-06-2012 à 15:21:08  profilanswer
 

Bon j'ai reussi. Il faut faire attention aux envois et les terminer avec socket.ShudownOutput();


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  reception INT de C vers Java problématique

 

Sujets relatifs
[VB.NET] Appel d'une DLL écrite en C++C++ Builder 6 - Utiliser une liste déroulante
JAVA+web serviceBesoin d'aide java
[C] Aide pour petit exo 2Programmation d'un programme en Java
[C] Aide pour petit exo[C/SDL] Rotation Image/Positionnement
Plus de sujets relatifs à : reception INT de C vers Java problématique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR